我找不出我的代碼有什麼問題。 我有幾個全局變量,每次按某個按鈕時都會發生變化,還有一些自定義函數會執行ajax調用,它會返回大量帶有下面分頁的html代碼,其工作原理如下:Javascript:事件重複
$('#foot #pagination a.page').live('click', function(){
window.mode = 'partial';
window.key = $('input#search').val();
window.page = $(this).parent().find('input').val();
setTimeout('getData();', 0);
});
有時當移動到另一個頁面事件雙打,我得到了加倍的HTML。調用getData()時調用 ;從瀏覽器控制檯 - 一切工作正常,就像它必須工作。 什麼能導致這種情況?
**永不**將字符串傳遞給'setInterval()'或'setTimeout()'。這樣做與使用'eval()'一樣糟糕,並且只要使用變量,就會導致不可讀和可能不安全的代碼,因爲您需要將它們插入到字符串中,而不是傳遞實際變量。正確的解決方案是'setInterval(function(){/ * your code *)},msecs);'。 'setTimeout()'同樣適用。如果你只想調用一個沒有任何參數的函數,你也可以直接傳遞函數名:'setInterval(someFunction,msecs);'(注意函數名後面有** no **'()') – ThiefMaster
感謝您的注意 –