jQuery插件可以在没有元素的情况下工作
jQuery plugin to work without element
如何制作一个可以在不使用元素选择器的情况下执行的jQuery插件?
比如,通常是:$('#myElementID').myPluginFunction(myVariables);
但是:$.myPluginFunction(myVariables);
提前感谢!
实际上,您只使用$.extend()
而不是$.fn.extend()
,请阅读此处了解更多
$.fn.extend({
myMethod: function(){...}
});
//jQuery("div").myMethod();
$.extend({
myMethod2: function(){...}
});
//jQuery.myMethod();
你可以这样做:
$.myPluginFunction = function(vars) {
//...
};
使用$.extend
。这里有一个小例子:
$(function() {
return $.extend({
addDebugBorder: function(selection, size) {
return selection.each(function() {
var color, randomColor;
randomColor = function() {
return Math.floor(Math.random() * 256);
};
if (!size) size = '5px';
color = 'rgb(' + randomColor() + ',' + randomColor() + ', ' + randomColor() + ')';
return $(this).css('border', size + ' solid ' + color);
});
}
});
});
然后像一样调用
$.addDebugBorder($("table tr td"), '1px');
edit-这个示例代码应该是一个普通的插件,我想我修改了它以使用选择器,而不是只处理div。这就是为什么它有点奇怪的原因。
与其将插件分配给jQuery.fn
对象,不如将其分配给根jQuery对象本身。
jQuery.myPluginFunction = function(myVariables) {
// plugin code
}
相关文章:
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何在不传递此信息的情况下查找被调用的元素
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 如何在不影响其他元素的情况下扩展DIV
- 在不移动内部文本的情况下缩放元素的效果
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 如何在没有回调的情况下获取有关元素的信息
- Ajax:只在元素存在的情况下调用Ajax
- 是否可以在不重新渲染的情况下显示/隐藏父对象中的元素
- jQuery-如何在给定延迟的情况下从元素中删除类
- 在不引用文档的情况下使用AngularJS获取元素
- JavaScript-在不影响索引的情况下将元素插入数组
- 如何在不使用multipleparent()调用的情况下找到(元素表的)第一个祖先
- 是否可以在不创建svg对象的情况下创建捕捉元素?[snap.svg]
- 在没有大量回调函数的情况下在列表元素上循环播放同一动画
- 在不使用sort()的情况下获取HTML LI元素的副本
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 如何在不丢失格式的情况下连续淡入() 元素文本的每个字符,包括嵌套元素
- 如何在不创建新元素的情况下修改 DOM 元素的位置
- 在不使用 CSS 的情况下,将元素与浏览器屏幕顶部保持设定的距离