onchange劫持onclick

时间:2012-10-25 19:00:32

标签: javascript html javascript-events

修改文字然后点击按钮只会触发 onchange 代码

但我需要知道按钮是否已被点击

<input type="text" onchange="alert('change')" value="Text">
<input type="button" onclick="alert('click')" value="Button">

我需要更改什么才能获得点击处理程序?

2 个答案:

答案 0 :(得分:2)

工作正常,alert()很糟糕。

我不知道它周围的具体细节,但我在过去已经注意到alert()在这些事件一起发生时会以奇怪的方式混淆DOM事件。

<input type="text" onchange="console.log('change')" value="Text">
<input type="button" onclick="console.log('click')" value="Button">​

见这里:http://jsfiddle.net/25EsQ/ (确保打开JS控制台,以便查看输出)

好消息是这只是一个调试问题(希望如此),当您使用真实有用的JS代码时,它应该按预期工作。

答案 1 :(得分:0)

onmousedown和onmouseup事件之间出现警报,导致onclick永不触发