我的jquery插件不工作

我的jquery插件不工作,jquery,jquery-ui,jquery-plugins,jquery-selectors,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

我有自己的应用程序jquery插件。对于第一个回调和第二个回调都没有赋值的情况,它可以正常工作

$('element1').myplugin({callback:foo});
$('element2').myplugin({callback:bla});
第二个回调不起作用,总是调用“foo”

插件代码:

(function($) {
    $.fn.myplugin = function(options) {
          //some code.
          options.callback();
        }
})(jQuery);
在插件末尾添加
(jQuery)
。演示:
这就是为什么会这样。现在,您的插件如下所示:

(function($) {
  $.fn.myplugin = function(options) {
      //some code.
      options.callback();
    }
})(jQuery);
您正在创建jQuery方法
myplugin
。但是请注意第一行
函数($){
和最后一行
}
上的代码。您已经将插件创建代码包装在一个函数中。该函数接受一个您调用的参数
$
。因此插件创建代码在一个函数中,所以我们使用
(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

如果您包含任何javascript,则使用升级版本,并验证您传递的请求以及您在响应中得到的内容……同时确保是否有一个或多个javascript包含,然后使用$.noConflict(true);这可能是对你的全部帮助……。

听起来你的插件有一个bug。你能发布源代码吗(仍然看到bug所需的最小数量)?是的-如果没有看到插件代码就无法回答。现在看看这个问题,为什么jquery添加u可以解释如果它仍然不起作用,你能在jsfiddle.net上创建一个测试吗?谢谢。你能举个例子吗?我听不懂你说的是什么。对不起,我没有任何棘手的问题,但我用这个来解决这类错误