2012-11-10 2 views
3

후속 w3schoolstriggerHandler()는 모든 요소

triggerHandler() 메소드는 트리거() 방법과 유사한 정합에 영향을 미친다. 단, 양식 제출과 같은 이벤트의 기본 동작을 트리거하지 않으며 은 첫 번째로 일치하는 요소에만 영향을줍니다.

는하지만이 입력 태그를 테스트하고

$("input").triggerHandler("select");

다음 둘 다 영향을 사용합니다. 여기에 내 코드입니다 :

HTML :

<input type="text" name="FirstName" value="Hello World" /> 
<input type="text" name="FirstName" value="Hello" /> 

자바 스크립트 :

$(document).ready(function(){ 
    $("input").select(function(){ 
    $("input").after(" Input select event occured!"); 
    }); 
    $("button").click(function(){ 
    $("input").triggerHandler("select"); 
    }); 
}); 

Live Copy on jsFiddle

+0

+1. 몇 가지 메모 : 1. 문제 코드 **에 항상 관련 코드 및 마크 업 **을 포함 시키십시오. http://meta.stackexchange.com/questions/118392/add-stack-overfow-faq-entry - 또는 비슷한 - 퍼팅 - 코드 -에 - 질문이 경우에 당신을 위해 그것을 해줬습니다. :-) 2. [jQuery 자신의 문서] (http://api.jquery.com)가 좋고 w3schools의 문서가 불완전한 경우 w3schools를 사용해야하는 이유는 무엇입니까? 3. 바이올린에는 MooTools와 jQuery가 모두 포함되어 있습니다 (이 경우는 아니지만). 왼쪽을 보면 어떤 라이브러리가 포함되어 있는지 확인할 수 있습니다. –

답변

3

이벤트는 첫 번째 요소에 트리거되고있다. 그렇게되면 코드는하지만, 라인을 출력한다 :

$("input").after(" Input select event occured!"); 

그 라인을 번 을 실행 일치하는 모든 input 요소 후 텍스트를 추가합니다. 일치하는 요소가 두 개 있기 때문에 이벤트가 첫 번째 요소에 대해서만 실행되었지만 두 번 째 선이 표시됩니다.

그냥

$(this).after(" Input select event occured!"); 

에 하나 줄을 변경 ... 그리고 당신은 단지 이벤트가 트리거 된 된 요소 뒤에 추가 출력을 볼 수 있습니다. Live Copy, 위의 변경 및 페이지에서 MooTools 포함 옵션을 제거하십시오.

+0

+1 브루 버! 그리고 bruv 아래의 코멘트에 감사드립니다! ':)' –