知道为什么这个基本示例不起作用吗?
(function( $ ){
$.fn.testPlugin = function( options ) {
alert('hi');
};
})( jQuery );
$.testPlugin();
知道为什么这个基本示例不起作用吗?
(function( $ ){
$.fn.testPlugin = function( options ) {
alert('hi');
};
})( jQuery );
$.testPlugin();
因为您将插件添加到fn
命名空间而不是$
命名空间。所以$().testPlugin()
会起作用,但$.testPlugin()
不会。
如果你想污染$
命名空间,你可以这样做:
(function( $ ){
$.testPlugin = function( options ) {
alert('hi');
};
})( jQuery );
$.testPlugin();
我遵循的经验法则是:$.
在它与 DOM 无关时使用(如 ajax),并$.fn.
在它对使用选择器抓取的元素(如 DOM/XML 元素)进行操作时使用。
你需要一个选择器:
$(document).testPlugin();
$(window).testPlugin();
演示:http: //jsfiddle.net/dirtyd77/Kq6pz/1/