2011-06-26 74 views
0

我無法找到如何延遲小部件的事件處理程序。 我綁定的事件是這樣的:jQuery:在小部件中的延遲事件調用

enable: function() { 
    this.options.isEnabled = true; 
    this.element.bind("keyup", $.proxy(this, "_populateList")); 
}, 

我想打電話給「_populateList」有延遲。但我用setTimeout的嘗試不起作用。

的 「_populateList」:

_populateList: function (event) { 
    var that = this; 
    // do my stuffs 
} 

感謝

+0

哪裏是你的setTimeout使用的嘗試? – Kon

回答

1

試試這個:

enable: function() { 
    this.options.isEnabled = true; 
    var that = this; 
    this.element.bind("keyup", function(event){ 
     $(this) 
      .delay(1000) // delayed time in milliseconds 
      .queue(function(next){ 
      that._populateList(event); 
      next(); 
      }); 
    }); 
}, 
+0

如果我設置1000延遲,1秒後沒有任何反應 – user706058

+0

@ user706058:更新了我的答案中的代碼。請再試一次。 :) – Shef

+0

@Shef同樣,沒有任何反應,但發生錯誤:「_populateList未定義」 – user706058