我的jquery插件无法正常工作

时间:2012-08-13 11:06:51

标签: jquery jquery-ui jquery-plugins jquery-selectors

我的应用程序有自己的jquery插件。它适用于第一次回调和第二次回调没有分配。

$('element1').myplugin({callback:foo});
$('element2').myplugin({callback:bla});

第二次回调无法正常调用'foo'。

插件代码:

(function($) {
    $.fn.myplugin = function(options) {
          //some code.
          options.callback();
        }
})(jQuery);

2 个答案:

答案 0 :(得分:1)

在插件末尾添加(jQuery)。演示:http://jsfiddle.net/wLEEK/
这就是为什么有效。现在,你的插件看起来像这样:

(function($) {
  $.fn.myplugin = function(options) {
      //some code.
      options.callback();
    }
})(jQuery);

您正在创建jQuery方法myplugin。但请注意第一行function ($) {和最后一行}上的代码。您已将插件创建代码包装在函数中。该函数接受一个您调用$的参数。所以插件创建代码在函数内部,所以我们使用(jQuery)调用该函数 - 传入jQuery作为参数。它有点复杂,但这是一个更熟悉的形式,可以帮助您了解正在发生的事情:

function createPlugin ($) {
  $.fn.myplugin = function(options) {
      //some code.
      options.callback();
    }
}//end of createPlugin
// myplugin isn't created yet; we need to call the function createPlugin
createPlugin(jQuery) // now myplugin is created

答案 1 :(得分:1)

如果您包含任何javascript然后使用升级版本并且还验证您传递的请求以及您得到的响应....还要确保是否有一个或多个javascript包含然后使用$ .noConflict(true);可能这对你来说很有帮助........