我想删除一个事件处理程序窗体,该窗体包含onsubmit的内联定义。

<form id="loginForm" onsubmit="return performTask(this);">


我已经尝试了:

$("#loginForm").off("submit")
$("#loginForm").unbind("submit")
$("#loginForm").die("submit")
$("#loginForm")[0].onsubmit = null
$("#loginForm")[0].onsubmit = undefined
$("#loginForm")[0].onSubmit = null
$("#loginForm")[0].onSubmit = undefined


没有任何效果!

我在jQuery方法on()上添加了自己的事件监听器,但从未调用过。似乎ol事件监听器是在我之前执行的。

所以问题是,有什么方法可以清除事件处理程序?还是有更好的办法来添加将在内联处理程序之前调用的事件侦听器?

最佳答案

使用.on()绑定事件时,请使用removeAttr()

 $('#loginForm').removeAttr('onsubmit').on('....')

关于javascript - 无法在Chrome上删除内联事件处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29971990/

10-12 03:29