将函数添加到简单的jquery插件

时间:2014-12-01 16:22:35

标签: jquery jquery-plugins

我创建了一个简单的jquery插件,它将事件绑定到调用它的元素上。在这个例子中,函数是在绑定中定义的,尽管进一步开发更容易将这些函数简单地定义为它们自己的函数。

目前的简单实施如下:

(function($) {
    $.fn.myPlugin = function() {
        return this.each(function() {
            $(this).click(function(){
                $(this).css("background-color", "red");
            });
        });
    }
}(jQuery));

JSFiddle

定义要在点击上运行的函数的最佳方法是什么,而不是在点击绑定本身中定义它?

1 个答案:

答案 0 :(得分:1)

也许让它成为一个回调?

(function($) {
    $.fn.myPlugin = function(callback) {
        return this.each(function() {
            $(this).click(function(){
                callback.call(this); // call the function here
            });
        });
    }
}(jQuery));
$(document).ready(function() { 
    $('#testdiv').myPlugin(function() {
       $(this).css("background-color", "red");  // do anything here
    });
});

DEMO