2010-06-07 2 views
0

두 개의 필드, 하나의 텍스트 상자 및 하나의 Div 요소가 있습니다. 텍스트 상자에는 onblur 이벤트가 있고 div 요소에는 onclick 이벤트가 있습니다. div 요소를 클릭하면 텍스트 상자의 onblur 이벤트가 발생하고 div 요소의 onclick 이벤트는 발생하지 않습니다. 나는 semafore를 사용하여 사전에 div 요소에제기를 위해 이벤트를 중지하는 방법

+0

클릭 이벤트가 onblur 후에 발생합니까? –

답변

0

시도

감사를 클릭 할 때에 onblur 이벤트를이 표시되지 않도록하는 방법.

클릭 이벤트가 발생하면 semafore를 true로 설정하고 blur 이벤트 호출의 값을 확인하십시오. true 인 경우 - 작업을 수행하지 않습니다.

클릭 이벤트를 성공적으로 수행하면 semafore가 false로 재설정됩니다.

0

나는 당신이 무엇을하려고하는지 잘 모르겠다. 그러나 이것은 "F"라는 플래그를 사용하여 문제를 해결할 수 :

<head> 
<script type="text/javascript"> 
    var f = 0; 
    function f1() { 
     if (f == 0) 
      alert('blur'); 
    } 
    function f2() { 
     alert('click'); 
    } 
    function f3() { 
     f = 1; 
    } 
    function f4() { 
     f = 0; 
    } 
</script> 
</head> 
<body> 
    <input type="text" onblur="f1();" /> 
    <div onclick="f2();" onmouseover="f3();" onmouseout="f4();"> 
     Click Me! 
    </div> 
</body> 

행운을 빕니다!

관련 문제