ale*_*lex 8 javascript jquery jquery-plugins
我正在编写一个jQuery插件,我想知道如何确保我不会覆盖未来的jQuery本机方法.
例如,我的插件名为Foo,用法是$('selector').foo().
jQuery 2.6已经注意到了Foo的流行,并决定将它包含在核心包中.它也是通过使用$('selector').foo().
我不希望我的Foo覆盖jQuery的原生Foo(或其他冲突).
这就是我提出来的......
(function($) {
// If jQuery adds this method, we don't want to overwrite it
if (typeof $.foo === 'function') {
return;
};
$.fn.foo = function() {
// Foo
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?
您可以跳过if语句并将定义检查构建到函数声明中.
(function($){
$.fn.foo = $.fn.foo || function () {
// only used if $.fn.foo is undefined
}
})(jQuery)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |