javascript - Firefox 与 IE/Chrome 中的事件处理程序

标签 javascript jquery events firefox cross-browser

我正在使用一些事件处理程序,但在一个方面有点困惑。

根据this线程中,Firefox 遵循 WC3 标准并将单击事件作为参数传递给您的处理程序。然后,您可以通过编写 MyHandler(event) 来访问此事件。但是,如果您已经传递了另一个参数怎么办?

具体来说,我的 onClick 函数是 editItem(this),其中 this 指的是被单击的表格行。但是,我需要在 editItem 函数内调用 event.stopPropagation() 以防止其他一些处理程序关闭。在 IE 和 Chrome 中,这是可行的,但在 Firefox 中, event.stopPropagation() 给了我一个空指针,这是有道理的,因为我没有将事件参数接收到 editItem(this )

我的问题是,如何在 onClick 函数中同时接收 thisevent ?我可以像 editItem(this, event) 一样附加它们吗? Firefox 如何知道哪一个是事件,哪一个是我的个人参数?

最佳答案

您可以按照您提到的那样执行 editItem(this, event) 。那么你的函数只需要像这样定义:

function editItem(element, event){
   ...
}

根据参数的顺序,它会知道哪个参数是哪个。

关于javascript - Firefox 与 IE/Chrome 中的事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498788/

相关文章:

jQuery 嵌套点击处理程序

javascript - 带有 ng-repeat 的动态 id

javascript - 这个正则表达式在 jQuery v1.11.0 中有何用途?

jquery - slider 和菜单 z-index 问题定位

c# - 检查事件不为空后事件为空

c# - WPF ListBox 数据绑定(bind)和事件

javascript - jquery footable $ ('#classes' ).trigger ('footable_redraw' );返回隐藏表

javascript - Cordova 地理位置返回空

javascript - create-react-app 不获取 .env 文件

javascript - fullpage.js - 使用锚定链接时,页面是立即加载还是按需加载?