2013-03-13 2 views
0

을 원하는대로 작업 나는 다음과 같은 코드를 가지고 있지 : 페이지에 대한 몇 가지 버튼을 클릭하면의 jQuery focusOut 이벤트는 내가 그것에

<div id="id1"> 
     <div id="id2"> 
      <p> some text </p> 
     </div> 
     <div id="id3"> 
      <!--some other div elements--> 
     </div> 
    </div> 

#id2contenteditable입니다.

jQuery("#id1").focousout(focousoutFunction); 

문제는 #id2 포커스를 잃을 경우 다음 focousoutFunction이 발사되어 있습니다 :

내 스크립트는 다음과 같은 코드가 있습니다. focusout은 실제 요소가 포커스를 잃었을 때 이벤트를 잡는 방법이있을뿐 내부 요소가 아닌가?

+0

'focusout'대신 'blur'이 필요하다고 생각합니다. –

답변

0

강제로 전파를 중지 할 수 있습니다.

jQuery("#id1 div").focusout(function(event) { 
    event.stopPropagation(); 
}); 
0

focusOut 이벤트는 그것이 또는 내부 모든 요소가 포커스를 잃을 요소로 전송된다. 이것은 의 blur 이벤트와 다른 하위 요소 인 에 대한 포커스 손실 감지를 지원한다는 것 (즉, 이벤트 버블 링을 지원함)과 다릅니다.

Jquery documentation

#id1 내부 요소가 #id1가 (난 당신이 div 요소에 포커스 이벤트를 할당 할 수 있는지 모르겠지만) 그 자체에 초점을 상실하지 않은 경우에도 포커스를 잃을 때마다 발생합니다 대한 focusOut;

관련 문제