spr*_*man 1 javascript dojo dom-events
我正在使用道场.我有这样的事情:
<a id="fooBar" onclick="foo();bar();">Foo then Bar</a>
Run Code Online (Sandbox Code Playgroud)
我想fooBar从另一个按钮触发点击处理程序.就像是:
<a onclick="dojo.query('#fooBar')[0].click()">Do FooBar</a>
Run Code Online (Sandbox Code Playgroud)
我能这样做吗?
dojo.byId('fooBar').onclick();
Run Code Online (Sandbox Code Playgroud)
要么
dojo.query('#fooBar')[0].onclick();
Run Code Online (Sandbox Code Playgroud)
见例子.
我之前没有使用过Dojo,但可以肯定地说你可以做得比内联事件更好:).此外,这些不会由Dojo管理,因为它们是内联添加的.onclick这里的方法是一个本机DOM方法,用于触发附加到onclick元素属性的函数.
dojo.byId是一个快捷方式document.getElementById,老实说,你可以轻松地在这里没有Dojo:
document.getElementById("fooBar").onclick();
Run Code Online (Sandbox Code Playgroud)
以下是比较字符节省的三种方法(9和14):
document.getElementById('fooBar').onclick();
dojo.query('#fooBar')[0].onclick();123456789
dojo.byId('fooBar').onclick();12345678901234
Run Code Online (Sandbox Code Playgroud)
查看不使用内联点击处理程序的几个很好的理由.