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

时间:2010-06-30 22:22:23

标签: javascript javascript-events dojo

我正在使用道场。我有这样的事情:

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

我想从另一个按钮触发fooBar的点击处理程序。类似的东西:

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

我能这样做吗?

1 个答案:

答案 0 :(得分:5)

dojo.byId('fooBar').onclick();

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

See examples

我之前没有使用过Dojo,但可以肯定地说你可以做得比内联事件更好:)。此外,这些不会由Dojo管理,因为它们是内联添加的。这里的onclick方法是一个本机DOM方法,用于触发附加到元素的onclick属性的函数。

dojo.byIddocument.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的几个很好的理由。