如何删除onchange监听器

时间:2017-04-27 09:32:55

标签: jquery asp.net google-chrome-extension

这是一个包含以下元素的ASP.net网页:

<input name="cthicleNo" type="text" value="MP28TA8649" maxlength="20" onchange="javascript:setTimeout('__doPostBack(\'cthicleNo\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="VehicleNo" class="textString">

我想要的只是通过输入来改变车辆编号,它不应该调用事件监听器。

如果我使用$("#VehicleNo").val("MP2")复制新车号,则不会调用任何事件监听器。

我甚至尝试过这些:

 $("#VehicleNo").unbind();
 $("#VehicleNo").off('onchange');
 $("#VehicleNo").removeAttr('onkeypress');

但是在输入和更改车辆号码更改事件(或其他一些)之后仍然会调用侦听器。

我也在页面中看到了这段代码:

document.getElementById('ccMain_RequiredFieldValidator7')['controltovalidate'] = "VehicleNo"
document.getElementById('ccMain_RequiredFieldValidator7')['errormessage'] = "Please Enter Vehicle Number"
document.getElementById('ccMain_RequiredFieldValidator7')['display'] = "Dynamic"
document.getElementById('ccMain_RequiredFieldValidator7')['validationGroup'] = "Register"
document.getElementById('ccMain_RequiredFieldValidator7')['evaluationfunction'] = "RequiredFieldValidatorEvaluateIsValid"
document.getElementById('ccMain_RequiredFieldValidator7')['initialvalue'] = ""
document.getElementById('ccMain_RegularExpressionValidator4')['controltovalidate'] = "VehicleNo"

我该怎么办?

1 个答案:

答案 0 :(得分:0)

因为你的onChange是一个属性,而不是JavaScript / JQuery添加的事件,所以你需要用removeAttr(attributeName)删除它

$('#VehicleNo').removeAttr('onchange');
相关问题