Stu*_*rts 6 javascript jquery jquery-plugins
我做了一个组合框插件.要使用它,你只需要打电话
$(elem).combobox(compensateElement);
Run Code Online (Sandbox Code Playgroud)
编辑:问题是,如果你这样做
$('#1').combobox('form');
$('#2').combobox('form');
Run Code Online (Sandbox Code Playgroud)
该插件将破解...
elem是要转换为组合框的选项,而compensationElement是一个元素,在该元素之后插件可以插入一个div,它是suggestDiv-20px high的长度.(我的页面上有一个页脚,没有被绝对定位元素推下......)
现在,问题是这个插件只能在一个元素上使用!如何更改它以便它可以同时处理多个元素?这是超过一百行的JS代码,所以我不指望"转换"代码!
我曾想过将所有特定于元素的变量放入this.data"对象"中,但它根本不是一个好的解决方案.运行一些RegEx查找并替换它并配置它几个小时后,我根本没有让它工作......
我可以使用哪些技术?
非常感谢您的宝贵时间!
Sér*_*els 11
问题是你有一个文字对象,每次调用时都会替换他的内容m.init().
我建议你看一下这篇文章,它解释了编写JQuery插件的好方法.如果您看到"轻量级开始",例如:
$.fn[pluginName] = function ( options ) {
return this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName,
new Plugin( this, options ));
}
});
}
Run Code Online (Sandbox Code Playgroud)
这为每个元素创建了一个插件对象的新实例,因此您可以一致地维护状态.
| 归档时间: |
|
| 查看次数: |
7382 次 |
| 最近记录: |