在我的页面中,我有一个具有 Onchange 事件的文本框和一个具有 Onclick 按钮的按钮。每当用户在 Textbox 中键入任何文本然后立即单击按钮时,首先会触发 Textbox 的 Onchange 事件,然后执行 Button 的 onclick 事件。
有什么方法可以在 Onchange 之前触发 Onclick 事件,或者至少在 Onchange 事件中,如果单击按钮导致 Onchange 事件,则不会发生任何事情。
我尝试了不同的东西,但仍然没有成功。
在我的页面中,我有一个具有 Onchange 事件的文本框和一个具有 Onclick 按钮的按钮。每当用户在 Textbox 中键入任何文本然后立即单击按钮时,首先会触发 Textbox 的 Onchange 事件,然后执行 Button 的 onclick 事件。
有什么方法可以在 Onchange 之前触发 Onclick 事件,或者至少在 Onchange 事件中,如果单击按钮导致 Onchange 事件,则不会发生任何事情。
我尝试了不同的东西,但仍然没有成功。
正如其他人所说,我不知道您为什么要这样做,但这是您想要实现的替代方案:
Javascript
var oldValue = null;
function onClickCall(value) {
if(value != oldValue) {
onChangeCall(value);
oldValue = value;
}
}
function onChangeCall(value) {
// do something here
alert(value);
}
HTML
<input type="text" id="myTextInput" />
<input type="button" onclick="onClickCall(document.getElementById('myTextInput').value)" />