我的应用程序有自己的jquery插件。它适用于第一次回调和第二次回调没有分配。
$('element1').myplugin({callback:foo});
$('element2').myplugin({callback:bla});
第二次回调无法正常调用'foo'。
插件代码:
(function($) {
$.fn.myplugin = function(options) {
//some code.
options.callback();
}
})(jQuery);
答案 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);可能这对你来说很有帮助........