下面的代码段在输入文本中包含 HTML onchange属性以及 jQuery的更改事件。我只希望 jQuery的更改事件有效。我没有运气就尝试使用webpack template和unbind。
有人可以帮忙吗?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="testInput" type="text" onchange="console.log('change');"/>
&#13;
{{1}}&#13;
答案 0 :(得分:2)
如果你想删除&#34;之前的&#34; onchange事件,请使用
$("#testInput").removeAttr("onchange")
$(document).ready(function() {
$("#testInput").removeAttr("onchange")
$("#testInput").unbind("change").bind("change", function() {
console.log("jQuery change");
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="testInput" type="text" onchange="console.log('change');" />
&#13;
答案 1 :(得分:1)
您可以将onchange
设置为null并添加侦听器,例如:
$(document).ready(function(){
//remove inline 'onchange' event by setting it to null
$("#testInput")[0].onchange = null;
$(document).on("change" "#testInput", function(){
console.log("jQuery change");
});
});
答案 2 :(得分:1)
只需删除onchange属性即可。 removeAttr('onchange')
将删除onchange属性
$(document).ready(function(){
$("input").each(function(){
$(this).removeAttr('onchange');
});
$("input").bind("change",function(){
console.log("jQuery change");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="testInput" type="text" onchange="console.log('change');"/>
<input id="testInput2" type="text" onchange="console.log('change');"/>
答案 3 :(得分:0)
试试这个
$(document).ready(function(){
$(document).on('change','#testInput',function(){
console.log("jQuery change");
});
});