2010-07-29 3 views
0

나는 모든 높은 아스키 값을 제거 할 수 있도록 응용 프로그램의 모든 텍스트 상자에 대해 내 자신의 onblur 이벤트를 정의하여 페이지로드 당 실행되는 asp.net 마스터 페이지에서 실행되는 스크립트를 작성했습니다. 모든 텍스트 상자/영역 onblur 이벤트 및 이전 이벤트의 복사본 저장왜이 자바 스크립트가 정의되지 않은 오류를 발생 시키나요?

그런 다음 새 이벤트가 이전 이벤트를 호출하므로 양식 전체에서 기존 이벤트가 중단되지 않습니다.

페이지가 onblur와 같이 정의 될 때까지 정상적으로 작동합니다. onblur = "func (this)" 원래 이벤트가 발생하면 'this'지점이 보낸 사람 컨트롤을 더 이상 가리 키지 않는 것 같습니다.

Pastebin link with 2 simple examples

그래서 사람이 작업을 수행 할 수있는 더 좋은 방법으로 날 지점 수있을 것?

감사합니다.

답변

1

this의 값을 제어하면서 함수를 동적으로 호출하려면 표준 호출 대신 func.apply를 사용하십시오.

myStoredFunc(arg1, arg2)

예를 들어 대신

사용 : apply의 첫 번째 인수에

myStoredFunc.apply(this, arguments);

은이 변수의 값이 제대로 호출 된 함수에 전달됩니다 이런 식으로, 감사합니다. 두 번째 인수는 매개 변수 값을 지정할 수있게합니다 (여기서는 현재 함수의 모든 인수를 호출 된 함수에 전달합니다).

+0

정말 고마워요. – asawyer

관련 문제