2010-02-01 4 views
4

JQuery 1.4.1을 사용하고 있습니다. 동적으로 생성 된 HTML 입력 요소가 있습니다. 모든 입력 요소에 "focusin"이벤트를 할당했습니다. 페이지를로드하는 동안 각 입력 요소를 집중시키는 동안 한 번만 트리거됩니다.Jquery live - focusin 여러 번 발생

문제는 페이지를 최소화하고 최대화 할 때 포커스 이벤트가 여러 번 발생한다는 것입니다. 마지막으로 "0 행에서 스택 오버플로"를 보여줍니다.

$('input').live("focusin",function(objectRef) { 
     alert("focusin event"); 

    }) 

이 문제의 원인은 무엇입니까?

답변

12

걱정하지 마십시오. alert()으로 전화 할 때만 발생합니다. 하지만 경고 상자에서 확인 버튼을 클릭하면 여러 번 이벤트가 트리거되는 이유를 알 수 없습니다.

대신이 방법을 사용하면 예상대로 한 번만 실행됩니다. focus, click, 및 기타 이벤트와 동일

$('input').live("focusin",function(objectRef) { 
    //alert("focusin event"); 
    $("#some_div").append('focus!'); 
}) 

.

+1

"alert()"을 호출 할 때만 발생합니다. true –

+0

이 문제를 방금 보았습니다. 다행 인 것은 알고 있습니다. –