jQuery & Objects,试图做一个轻量级的小部件
Posted
技术标签:
【中文标题】jQuery & Objects,试图做一个轻量级的小部件【英文标题】:jQuery & Objects, trying to make a lightweight widget 【发布时间】:2010-09-08 01:45:04 【问题描述】:尝试制作一个可以动态添加元素的通用选择“控件”,但我无法让功能正常工作。
这是我开始的。
$select = $("<select></select>");
$select.addOption = function(value,text)
$(this).append($("<option></option>").val(value).text(text));
;
这单独工作很好,但任何时候$select
是.clone(true)
'ed addOption()
功能丢失。
这是我的对象方法,但该功能仍然不起作用。
function $selectX()
return $("<select></select>");
$selectX.prototype.addOption() = function(value,text)
$(this).append($("<option></option>").val(value).text(text));
;
Hack的解决方法是创建后手动添加函数:
$nameSelect= new $selectX;
$nameSelect.addOption = function(value,text)
$(this).append($("<option></option>").val(value).text(text));
;
我是不是找错树了?
【问题讨论】:
【参考方案1】:要为jQuery添加新方法你需要使用jQuery.fn.methodName
属性,所以在这种情况下它将是:
jQuery.fn.addOption = function (value, text)
jQuery(this).append(jQuery('<option></option>').val(value).text(text));
;
但请记住,此addOption
可以从任何$()
调用的结果中访问。
【讨论】:
以上是关于jQuery & Objects,试图做一个轻量级的小部件的主要内容,如果未能解决你的问题,请参考以下文章
我试图用 PHP、MySQL、jQuery 和 css 做的一团糟
Django-filters, q objects & 同时在 manytomany & textfields 中搜索“包含”