这是一个包含以下元素的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"
我该怎么办?
答案 0 :(得分:0)
因为你的onChange是一个属性,而不是JavaScript / JQuery添加的事件,所以你需要用removeAttr(attributeName)删除它
$('#VehicleNo').removeAttr('onchange');