大佬教程收集整理的这篇文章主要介绍了如何在jQuery插件中拥有成员变量和公共方法?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,我需要为每个存储一个timerID.我还想存储对构成控件的一些DOM元素的引用.
$("#myCtrl").autoCompleteEx.addItem("1");
但是在addItem()的实现中,如何访问该特定对象的成员变量,如timerID或其他什么?
以下是我到目前为止的情况……
感谢您的任何帮助或建议!
(function($) { //Attach this new method to jQuery $.fn.autoCompleteEx = function(options) { //Merge Given Options W/ Defaults,But Don't Alter Either var opts = $.extend({},$.fn.autoCompleteEx.defaults,options); //Iterate over the current set of matched elements return this.each(function() { var acx = $(this); //Get JQuery Version Of Element (Should Be Div) //Give Div Correct Class & Add <ul> w/ input item to it acx.addClass("autoCompleteEx"); acx.html("<ul><li class=\"input\"><input type=\"text\"/></li></ul>"); //Grab Input As JQ Object var input = $("input",acX); //Wireup Div acx.click(function() { input.focus().val( input.val() ); }); //Wireup Input input.keydown(function(E) { var kc = e.keyCode; if(kc == 13) //Enter { } else if(kc == 27) //Esc { } else { //Resize TextArea To Input var width = 50 + (_txtArea.val().length*10); _txtArea.css("width",width+"px"); } }); }); //End Each JQ Element }; //End autoCompleteEx() //Private Functions function junk() { }; //Public Functions $.fn.autoCompleteEx.addItem = function(id,txt) { var x = this; var y = 0; }; //Default SetTings $.fn.autoCompleteEx.defaults = { minChars: 2,delay: 300,maxItems: 1 }; //End Of Closure })(jQuery);
$('#elem').autoCompleteEx('addItem','1');
然后保留’this’上下文,你可以沿着这些方向做一些事情:
function addItem() { // this should be == jquery object when this get called } $.fn.autoCompleteEx = function(options) { if (options === 'addItem') { return addItem.apply(this,Array.prototype.splice.call(arguments,1)); } };
以上是大佬教程为你收集整理的如何在jQuery插件中拥有成员变量和公共方法?全部内容,希望文章能够帮你解决如何在jQuery插件中拥有成员变量和公共方法?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。