2012-07-10 85 views
1

我已經構建了自己的jQuery分頁插件。請看下圖:jQuery插件 - 傳遞自定義事件

$.fn.extend({ 
    pager: function(options) { 
     var settings = { 
      pageSize: 10, 
      onPageChanged: function() { } 
     }; 

     if (options) 
      $.extend(settings, options); 

     return this.each(function() { 
      // Trigger onPageChanged event 
     }); 
    } 
}); 

這可以被稱爲說:

$('#placeholder').pager({ pageSize: 20, onPageChanged: function() { alert('Page Changed!'); } }); 

我想知道如何觸發通過我的插件中的選項傳遞的功能。我確信這是簡單的,但我似乎無法找到任何文件中的幫助。

我會很感激的幫助。由於

回答

1

嘗試使用:

settings.onPageChanged.call(this); 

您也可以選擇添加其他參數.call()將被傳遞給函數。

如果你想,可以綁定到以後使用$('#placeholder').on("onPageChanged",handler)一個真正的自定義事件,而是執行此操作:

this.on("onPageChanged",settings.onPageChanged); 

,然後用觸發它:

this.triggerHandler("onPageChanged"); 
+0

感謝掃清事情了。 – nfplee 2012-07-11 10:46:42