我有一个奇怪的递归情况。
我正在使用一个小部件和 HTML5 contenteditable 更改元素内的一些 HTML。
我在该元素上绑定(bind)了一些事件,例如:
$('.myelement).on('DOMNodeInserted DOMNodeRemoved DOMCharacterDataModified', ..
这些事件会触发一些 AJAX 调用,成功后也会修改相同的元素。
$('.myelement').html(new_value)
但问题是,这也会触发元素上的那些绑定(bind)事件。然后我得到了一个不可阻挡的ajax递归。
是否可以做类似的事情
$('.myelement').html(new_value).preventDefault()
例如,不触发任何绑定(bind)事件触发器?
最佳答案
没有。
相反,您可以在更新元素时取消绑定(bind)处理程序,或者在更新时设置一个标志并在处理程序中检查该标志而不执行任何操作。
关于javascript - 更改 html PreventDefault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19229303/