我将onchange
事件附加到输入文本,并将onclick
事件附加到文本链接。点击事件在编辑文本框后单击时不会触发。而是触发更改事件。
问题已经证明here。
即使在编辑文本框后如何处理链接上的点击事件?
答案 0 :(得分:0)
实际上当您编辑输入字段然后从文本框中丢失焦点时 然后调用onChange事件。
请理解scanerio
第一次在肯定编辑文本框后点击 onchange事件会叫你无法阻止它。
答案 1 :(得分:0)
试试这个
<input type="text" id="input" />
<a href="javascript:void(0)">click me after editing</a>
document.getElementById("input").addEventListener("change", function(){
alert( 'input field value changed');
});
document.getElementsByTagName("a")[0].addEventListener("click", function(){
alert( 'Link clicked');
});
答案 2 :(得分:0)
如果您将活动更改为onmousedown
,则会在click
活动之前抓住change
。然后,您可以使用变量来防止更改事件处理程序触发。像这样:
//you'll need to declare your variable at the beginning
$(document).ready(function() {
clicked=false;
});
//reset the variable when clicking on input
<input type= "text" id ="input" onchange='if(!clicked){alert("changed")}' onmousedown='clicked=false'> </input>
//on mousedown gets the click, prevent the change event from firing and fire this handler
<a onmousedown='clicked=true;alert("hello");'>click me after editing</a>