jqueryplugin.fn问题
我似乎在创建jquery插件时遇到了一些问题。我正在firebug控制台中测试一个简单的插件,但函数的定义并不像我预期的那样。下面是我正在使用的代码模式jqueryplugin.fn问题,jquery,jquery-plugins,Jquery,Jquery Plugins,我似乎在创建jquery插件时遇到了一些问题。我正在firebug控制台中测试一个简单的插件,但函数的定义并不像我预期的那样。下面是我正在使用的代码模式 jQuery.fn.test = function () {console.log("runs")} 我正在尝试使用此调用调用函数,但该调用不起作用 $.test() 但这通电话确实如此 $.fn.test() 我不认为这是它应该如何工作,所以我认为我做错了什么,尽管所有的文档似乎都同意我应该是正确的。有人有什么建议吗 谢谢, Cory试
jQuery.fn.test = function () {console.log("runs")}
我正在尝试使用此调用调用函数,但该调用不起作用
$.test()
但这通电话确实如此
$.fn.test()
我不认为这是它应该如何工作,所以我认为我做错了什么,尽管所有的文档似乎都同意我应该是正确的。有人有什么建议吗
谢谢,
Cory试试$('div')。test()
阅读jQuery插件的详细介绍
好的,我在这里的时候,这里有一些额外的信息。创建插件时,有三条近乎绝对的规则:
- 定义插件时,请始终使用匿名方法,以确保使用
获取jQuery对象$
- 始终尝试再次返回jQuery对象(用于链接)
- 始终迭代元素,因为选择器可能匹配多个元素
(function($) {
$.fn.test = function() {
return this.each(function() {
console.log("runs");
});
}
})(jQuery);
这将为选择器匹配的每个项目打印“运行”(如果只使用div
,则会打印很多)。尝试放置$(this.css('background-color','red')编码>并查看发生了什么
另一个好地方是各种社交编码网站(,)和搜索“jQuery插件”,看看其他人是如何做的。扩展jQuery有两种方法。您选择的选项允许以下操作:
$("div").test();
尽管代码的格式不正确。要简单地添加一个静态方法以便调用:
$.test();
这样做:
jQuery.test = function() {
...
};
看。我需要打电话找点事,这很愚蠢,谢谢。