2010-05-19 6 views
0

jquery numeric plugin을 사용하여 일부 필드에만 숫자를 입력 할 수 있습니다.jquery 플러그인을 동적으로 사용하지 않음

$("input.numeric").numeric(); 

사용자가 다른 문자 (예 : 문자)를 입력 할 수 있도록이 기능을 동적으로 사용 중지하려는 경우가 있습니다. 성공없이 unbind() 또는 undelegate() 함수를 사용하려고했습니다.

해결책을 아는 사람이 있습니까? 감사

+0

어떻게'.unbind()'를 사용 했습니까? 숫자 플러그인은'keypress' 핸들러를 입력에 바인딩하는 것처럼 보이므로'$ ("input.numeric"). unbind();'는 (그 외 모든) 핸들러를 제거해야합니다. – user113716

+0

도움 주셔서 감사합니다. Finaly,이 솔루션을 찾았습니다 : $ ('# my_elt'). unbind ('keypress'). unbind ('blur'); 플러그인에서 사용하는 모든 이벤트를 바인딩 해제합니다. – Gilles

답변

4

이 플러그인 기능을 removeNumeric();

을 포함하고 거의 맞습니다. removeNumeric 기능

$.fn.removeNumeric = function() 
{ 
    return this.data("numeric.decimal", null).data("numeric.negative", 
    null).data("numeric.callback", null).unbind("keypress", 
    $.fn.numeric.keypress).*unbind("keyup", 
    $.fn.numeric.keyup)*.unbind("blur", $.fn.numeric.blur); 
} 

음에

삽입 unbind("keyup", $.fn.numeric.keyup)을하고, 그 후, 당신은 나를 위해 $("input.numeric").removeNumeric(); 작품 벌금을 시도 할 수 : 처음에는 jquer.numeric 플러그인에 약간의 수정을 추가해야합니다.

+0

적어도 두 번 이상 UP 투표를하고 싶습니다. ...... – Abs

관련 문제