无法删除Chrome上的内联事件处理程序

时间:2015-04-30 15:35:52

标签: javascript jquery google-chrome events

我想从包含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方法添加我自己的事件监听器,但它永远不会被调用。它是ol事件监听器在我之前执行的......

所以问题是,有没有办法清除事件处理程序?或者更好的是有没有办法添加一个将在内联处理程序之前调用的事件监听器?

2 个答案:

答案 0 :(得分:1)

使用.on()绑定活动时,请使用removeAttr()

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

答案 1 :(得分:0)

响应是我在Google Chrome扩展程序中,更准确地说是在内容脚本中,并且不允许修改除自己以外的任何东西。