0

我有一个奇怪的递归情况。

我正在使用一个小部件和 HTML5 contenteditable 更改元素内的一些 HTML。

我在该元素上绑定了一些事件,例如:

$('.myelement).on('DOMNodeInserted DOMNodeRemoved DOMCharacterDataModified', ..

这些事件触发一些 AJAX 调用,成功时也会修改相同的元素。

$('.myelement').html(new_value)

但问题是,这也会触发元素上的那些绑定事件。然后我得到了一个不可阻挡的 ajax 递归。

是否可以做类似的事情

$('.myelement').html(new_value).preventDefault()

如,不要触发任何绑定事件触发器?

4

1 回答 1

2

不。

相反,您可以在更新元素时​​取消绑定处理程序,或者在更新时设置一个标志并在处理程序中检查该标志而不做任何事情。

于 2013-10-07T15:58:25.010 回答