我刚刚创建了我的第一个 jQuery 插件
,它非常简单 slideToggle
两个 Div
,代码工作正常,它做了我想要的事情想要,问题是我在控制台收到一条 ERROR
消息:
Uncaught TypeError: object is not a function
它引用了这行代码
})(jQuery);
代码
$(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);
有谁知道这个错误是什么以及如何修复它,谢谢
最佳答案
你要么想做
(function ($) { ... })(jQuery);
如果您希望代码立即运行,
或
jQuery(function ($) { .... });
让您的代码在文档就绪状态下运行。
您引用的是 $("button"),因此需要文档树可用。所以使用第二个版本。一个更好的解决方案是使用 jQuery 函数“delegate”,这看起来像这样:
jQuery(function ($) {
$(document).delegate("button", "click", function (ev) { ... });
});
关于javascript - jquery插件未捕获类型错误: object is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11191033/