我正在使用道场。我有这样的事情:
<a id="fooBar" onclick="foo();bar();">Foo then Bar</a>
我想从另一个按钮触发fooBar
的点击处理程序。类似的东西:
<a onclick="dojo.query('#fooBar')[0].click()">Do FooBar</a>
我能这样做吗?
答案 0 :(得分:5)
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的几个很好的理由。