jQuery&체를 만들기 위해 노력하고,경량 위젯
-
09-06-2019 - |
문제
만들려고 노력하는 일반적인"을 선택하 제어"내가할 수 있습니다 추가 요소이지만,나는 데 문제가 기능을니다.
이것은 무엇을 가지고 시작했는데.
$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));
};
해킹 솔루션은 추가 기능을 수동으로 생성후:
$nameSelect= new $selectX;
$nameSelect.addOption = function(value,text){
$(this).append($("<option></option>").val(value).text(text));
};
내가 짖는 잘못된 나무입니까?
해결책
를 추가하는 새로운 방법을 jQuery 을 사용할 필요가 jQuery.fn.methodName
특성,그래서 이 경우에는 이 항목은 다음과 같습니다.
jQuery.fn.addOption = function (value, text) {
jQuery(this).append(jQuery('<option></option>').val(value).text(text));
};
그러나 유지 하는 마음에 이 addOption
에 액세스 할 수 있습니다 결과 $()
전화입니다.
제휴하지 않습니다 StackOverflow