我正在使用jQuery來偵聽DOMSubtreeModified事件,然後執行一個函數。我需要的是一種只在每個事件爆發時運行一次功能的方法。所以在這種情況下,事件將僅在1秒後運行,並且在3秒後再次運行。做這個的最好方式是什麼?
使用jQuery爲每個事件突發運行一次函數
jQuery的
$(function(){
setTimeout(function(){
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
},1000);
setTimeout(function(){
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
},3000);
$('#container').bind('DOMSubtreeModified',function(){
console.log('event');
functionToRun();
});
});
HTML
<div id="container"></div>
更新
setTimeout函數的存在只是爲了模仿我的問題。我需要一個解決方案,而無需更改setTimeout代碼。我遇到的問題是我得到了突發的DOMSubtreeModified事件,並且每次爆發只需要一次。
如果我理解正確,'setTimeout'的東西不是你所問的。你想知道如何修改元素6次,但是'functionToRun'只運行一次,是否正確? – 2009-09-19 14:32:33
是:) – 2009-09-19 14:37:43