基本上,我希望每次向DOM附加或前置时都会运行检查,表明我放入的元素不存在。我正在制作复杂的应用程序,有时会使重复的元素导致事件无法正确触发。
我不希望每次更改DOM时都手动运行此检查,我希望在调用prepend或append函数时自动运行它。在调用函数时是否有可以监听的事件?
我不会在应用程序发布时使用此检查,因为我意识到它可能严重妨碍性能,但在开发期间它将非常有价值。
答案 0 :(得分:5)
只需覆盖jQuery.fn.append
:
(function() {
var append = jQuery.fn.append;
jQuery.fn.append = function() {
var elemExists = ...;
if (!elemExists) {
append.apply(this, arguments);
}
};
})();
对jQuery.fn.prepend
执行相同操作。这非常有效,因为您必须对生产进行的唯一更改是排除此功能。