Tom*_*Tom 3 javascript jquery events jquery-plugins jquery-animate
我正在研究一个可以应用于多个元素的jQuery插件.该插件包含一些动画效果,我需要根据插件是否用于多个元素(而不是一个)来管理事件队列.
检测插件是否已应用于单个元素或多个元素的最佳方法是什么?
编辑...
length如果插件传递了多个元素(例如$('.myClass').plugin()),则该属性可以正常工作,但如果在多个单个元素(例如$('#myElem1').plugin()和$('#myElem2').plugin())上调用插件,则长度将为每个调用返回一个.
是否有一种方法可以在使用插件时检测多个实例,如第二个示例中所示/
this插件里面,这取决于你的风格,指的是jQuery对象,所以你可以检查的.length属性,例如:
jQuery.fn.plugin = function(options) {
if(this.length > 1) //being applied to multiple elements
};
Run Code Online (Sandbox Code Playgroud)
对于您的修改:跟踪总数可能是更好的选择,例如:
(function($) {
$.pluginCount = 0;
$.fn.plugin = function(options) {
$.pluginCount += this.length; //add to total
if($.pluginCount > 1) //overall being applied to multiple elements
};
})(jQuery)
Run Code Online (Sandbox Code Playgroud)