防止onchange事件进入无限循环

kan*_*shk 4 javascript events onchange event-handling

我有两个文本字段,一个代表百分比,第二个代表相应的数量.现在我想要的是,当百分比改变时,金额应该改变,当金额改变时,百分比应该相应地改变.我正在使用javascript.

在这种情况下,如果其中任何一个更改,将启动无限循环.

我想要的是,当金额发生变化时,它应该相应地改变百分比,然后循环应该停止.当百分比改变时,它应该相应地改变量,然后循环应该停止.这有什么办法吗?也许是这样的stopPropagation

虚拟JS代码:

value是一个文本框,percentage是另一个文本框

function valueChng(){
    percentage.value = "" + someInteger;
}
function percentageChng(){
    value.value = "" + someInteger;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!!

Sim*_*mon 8

我仍然没有在这里看到问题,因为当以编程方式更改内容时不会执行更改处理程序.我只是实现了一个简单的小提示,以显示它是如何工作而不会遇到无限循环(使用jquery简化):http: //jsfiddle.net/aWuks/

  • 根据W3C,“当控件失去输入焦点并且自获得焦点以来其值已被修改时,将发生onchange事件”。通过编程将其值更改为不会触发事件时,该元素不会失去焦点。 (2认同)