【问题标题】:my jquery plugin not working我的 jquery 插件不工作
【发布时间】:2012-08-13 11:06:50
【问题描述】:

我的应用程序有自己的 jquery 插件。它对第一个回调工作正常,第二个回调没有分配。

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

第二个回调不工作总是调用'foo'。

插件代码:

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

【问题讨论】:

  • 听起来你的插件有问题。你能发布源代码(仍然看到错误所需的最低数量)吗?
  • 是的 - 没有看到插件代码就无法回答。
  • 看现在的问题

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


【解决方案1】:

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

【讨论】:

  • 你能举个例子吗,我听不懂你在说什么
  • 对不起,我没有任何具体的例子,但我使用这个并解决了这种类型的错误
【解决方案2】:

在插件末尾添加(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

【讨论】:

  • 为什么jquery能解释一下
  • 如果仍然无法正常工作,您可以在 jsfiddle.net 上创建一个测试吗?谢谢。
猜你喜欢
  • 2012-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-03
  • 2017-01-13
相关资源
最近更新 更多