Избегайте двойной оценки
Помещая эту функцию в quotes
, ECMA- / Javascript будет eval
этот код, что просто невероятно медленно. Поэтому всегда используйте function reference
with setTimeout
/ setInterval
:
setInterval(function(){
check_trigger();
}, 300);
или напрямую
setInterval(check_trigger, 300);
Если вы удаляете эти элементы где-то самостоятельно, это может быть интересным подходом к hook методу jQuery .remove()
или .detach()
(если вы вызываете их для удаления элемента). *
Это может выглядеть так:
var hookRemove = $.fn.remove;
$.fn.remove = function(){
if(this.id === 'something'){
// hoorray! we found it
}
hookRemove.apply(this, arguments);
};
Помните, что вы имеете дело с jQuery object
внутри крючка. Так что на самом деле this
также может быть wrapped set
элементов. Поэтому звонок на
this.each(function(){
});
внутри крючка должно быть больше сохранности для проверки. Таким образом, у вас есть exact
знание о том, когда объект удаляется без intervall timer
.