代码之家  ›  专栏  ›  技术社区  ›  sprugman

以编程方式触发单击处理程序

  •  1
  • sprugman  · 技术社区  · 15 年前

    我在用dojo。我有这样的东西:

    <a id="fooBar" onclick="foo();bar();">Foo then Bar</a>
    

    我想触发 fooBar 的单击处理程序。比如:

    <a onclick="dojo.query('#fooBar')[0].click()">Do FooBar</a>
    

    1 回复  |  直到 6 年前
        1
  •  5
  •   Community CDub    8 年前
    dojo.byId('fooBar').onclick();
    

    dojo.query('#fooBar')[0].onclick();
    

    See examples .

    我以前没有使用过Dojo,但可以肯定地说,您可以做得比内联事件更好:)。此外,Dojo不会管理这些内容,因为它们是内联添加的。这个 onclick 单击 元素的属性。

    dojo.byId 是通往 document.getElementById ,老实说,这里没有Dojo,您很容易做到:

    document.getElementById("fooBar").onclick();
    

    three methods 比较字符节省(9和14):

    document.getElementById('fooBar').onclick();
    dojo.query('#fooBar')[0].onclick();123456789
    dojo.byId('fooBar').onclick();12345678901234
    

    有几个很好的理由 not using inline click handlers .