javascript - 以编程方式触发点击处理程序

标签 javascript dojo dom-events

我正在使用道场。我有这样的东西:

<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();

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

关于javascript - 以编程方式触发点击处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3153853/

相关文章:

javascript - 删除所有子节点

javascript - 谷歌地图 API v3 : Is there a callback or event listener for a setMap() event?

javascript - 图像加载后的图像 onload 事件

javascript - 如何捕获 Chrome 所有网站的鼠标和键盘数据

javascript - Cookie 在 IE 中总是返回 null

javascript - jQuery - 使用 inArray() 查找 jQuery 对象的索引

javascript - 我如何检查加载页面时是否加载了 .json 文件

javascript - $.when().done() 没有按预期工作

javascript - 如何向对话框添加div?

javascript - 为什么我在 osm 中收到此错误?