我刚刚创建了我的第一个jQuery plugin,它非常简单,slideToggle两个Divs,代码工作正常,它做我想要的,问题是我ERROR在控制台收到一条消息说:
Uncaught TypeError: object is not a function
Run Code Online (Sandbox Code Playgroud)
它指的是这行代码
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
码
$(function($) {
$.fn.toggleDiv = function(opt) {
var options = $.extend({}, $.fn.toggleDiv.objectOptions, opt);
return this.each(function() {
if (options.animation == true) {
$(this).slideToggle();
} else {
$(this).toggle();
}
});
};
$.fn.toggleDiv.objectOptions = {
animation: false
};
$("button").click(function() { $("#Div1, #Div2")
.toggleDiv({animation : fa}); return false; });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
有没有人知道这是什么错误,我该如何解决它,谢谢
你要么想做
(function ($) { ... })(jQuery);
Run Code Online (Sandbox Code Playgroud)
如果你想让你的代码立即运行,
要么
jQuery(function ($) { .... });
Run Code Online (Sandbox Code Playgroud)
使您的代码在文档就绪时运行.
您指的是$("按钮"),因此需要文档树可用.所以使用第二个版本.一个更好的解决方案是使用jQuery函数"委托",这看起来像这样:
jQuery(function ($) {
$(document).delegate("button", "click", function (ev) { ... });
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19719 次 |
| 最近记录: |