我正在使用道场。我有这样的东西:
<a id="fooBar" onclick="foo();bar();">Foo then Bar</a>
我想从另一个按钮触发 fooBar
的点击处理程序。像这样的东西:
<a onclick="dojo.query('#fooBar')[0].click()">Do FooBar</a>
我可以这样做吗?
最佳答案
dojo.byId('fooBar').onclick();
或
dojo.query('#fooBar')[0].onclick();
我以前没有使用过 Dojo,但可以肯定地说,您可以比内联事件做得更好 :)。此外,这些不会由 Dojo 管理,因为它们是内联添加的。这里的onclick
方法是一个原生的DOM方法,用于触发附加到元素的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 的几个很好的理由。
关于javascript - 以编程方式触发点击处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3153853/