Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在使用 jQuery 时,我似乎一直遇到这个问题。当两个表单字段 A 和 B 具有修改另一个的更改事件处理程序(A 修改 B 和 B 修改 A)时,防止它们创建循环循环的公认设计模式是什么?
如果您从每个处理程序显式触发合作伙伴元素的“更改”处理程序,只需在源元素上设置一个标志,如果看到该标志则中止处理程序。
function handler(ev) { if ($(this).data("handling-now")) return; $(this).data("handling-now", true); // do stuff $(this).data("handling-now", null); }