Sam*_*iew 4 html javascript click onclick
有没有一个可以在HTML DOM元素上触发click事件的vanilla JavaScript跨浏览器函数(包括像div这样的非表单元素)?
沿着这条道路走下去的大多数人最终都要开发自己的事件管理系统(这不是那么难但很烦人)或者在可用的功能范围内工作.
如果所有浏览器都支持单个模型(比如说W3C事件模型),那么生活就会很好.但他们没有.不仅如此,一些浏览器拒绝以与"真实"事件相同的方式响应程序化事件.例如,在Firefox中的链接上使用displatchEvent调度click事件不会导致浏览器跟踪链接(但如果有的话,将触发onclick侦听器).大多数其他浏览器将遵循该链接.
IE不支持dispatchEvent到版本8(也许9版),它有fireEvent类似但不同.
HTML5(它还不是标准,也许它永远不会是)已经为HTMLElement接口引入了一个click方法,但它还没有完全实现,不能依赖它.它可能用于您知道或可以控制将使用该页面的浏览器版本的环境.
如果已将侦听器分配给属性或内联,您也可以调用元素的onclick属性,但当然这不像真实事件.
在 Mozilla 文档上找到了这个难以捉摸的函数: https: //developer.mozilla.org/En/DOM/Document.createEvent,这里也是: http: //javascript.gakaa.com/document-createevent-4-0-5- .aspx
function performClick(node) {
var evt = document.createEvent("MouseEvents");
evt.initEvent("mousedown", true, true);
document.getElementById("myElement").dispatchEvent(evt);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5882 次 |
| 最近记录: |