gpt4 book ai didi

jquery插件方法返回值

转载 作者:行者123 更新时间:2023-12-01 05:05:19 25 4
gpt4 key购买 nike

我正在为下拉菜单的一些常见任务编写一个插件。 Selected Index方法需要返回一个值给我。我如何在插件中完成此操作,其中某些方法可能会或可能不会返回值?对于不返回值的方法,我想保持可链接性。

jQuery.fn.dropdownHelper = function(method) {
var methods = {
init: function(){ },
empty: function(){
if (this.tagName == 'SELECT')
this.options.length = 0;
},
selectedIndex: function(){
var index = this.selectedIndex;
if(index == 'undefined')
index = -1;
alert (index);
return index;
}
};
return this.each(function() {
// Method calling logic
if ( methods[method] )
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
else if ( typeof method === 'object' || ! method )
return methods.init.apply( this, arguments );
else
$.error( 'Method ' + method + ' does not exist' );
});
};

最佳答案

“除非您从插件返回内在值(value),否则始终让您的插件函数返回 this 关键字以保持可链接性。” -Plugins/Authoring on docs.jquery.com

这意味着您从 selectedIndex 函数返回索引(内在值),就像您当前一样。然后,对于当前未指定任何返回值的所有其他函数,您将返回 this 关键字以保持可链接性。例如,要在调用 .dropdownHelper('empty') 时保持可链接性,请尝试以下操作。

empty: function(){
if (this.tagName == 'SELECT')
this.options.length = 0;

return this;
},

如果这不起作用,请尝试返回 $(this)。

关于jquery插件方法返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6476407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com