아래 코드에서 bluroverByClickOnLink를 올바른 값으로 설정하는 방법이 있습니까? (마우스 오버 또는 다른 포인터 이벤트를 사용하지 않고 클릭이 발생하기 전에 설정하십시오)? 사용자가 링크를 클릭하여 텍스트 상자를 흐리게하는 경우 true이고, 사용자가 Tab 키를 사용하여 텍스트 상자를 흐리게하거나 다른 곳을 클릭하면 false입니다. 좀 봐 주셔서 감사합니다!onblur - 클릭 한 내용을 나타내는 방법; 또는 onclick 이벤트가 실행되기를 기다리는 지 알 수있는 방법
<html>
<body>
<input id="myInput" type="text" onblur="var blurredByClickOnLink='???'; console.log('input onblur. blurred by click on link = ' + blurredByClickOnLink);" />
<br/><br/>
<a id="myLink" href="javascript:console.log('a href');void(0);" onclick="console.log('a onclick');">Link</a>
</body>
</html>
고마워요! 그래서 내가 바라는 것 (블러 이벤트 내부의 다가오는 클릭 이벤트에 대한 정보)은 수행 할 수 없습니다. 블러 이벤트가 아는 한 아직까지 아무 것도 클릭되지 않았기 때문입니다. 필요한 동작을 수행하기 위해 setTimeout (각 요소의 클릭 이벤트에서)을 사용할 수 있습니다. 이벤트 큐의 작동 방식에 익숙하지 않지만 이벤트 큐의 내용을 확인하기 위해 blur 이벤트의 코드에 대한 방법이없는 것처럼 들립니다. – Kwateco
그게 전부예요. 브라우저가 초고속 카메라와 상호 작용하는 것을 상상해보십시오. 입력 필드에서 마우스를 움직이면 흐림 이벤트가 발생하고 이후 이벤트 (예 : 클릭)가 발생하기 전에 처리 할 수 있습니다. – Kolban
onmousedown이 실행되는 동안 onblur 이벤트가 대기 중인지 여부를 알려주는 방법에 대해 처음 질문했던 것보다 더 좋은 질문이라고 생각합니다. 흐림 및 클릭과 달리 mousedown 및 흐림 효과는 동시에 발생하지만 mousedown 이벤트가 먼저 실행됩니다. 더 좋은 질문에 대한 구체적인 예는 다음과 같습니다. 이 피들에서 - http://jsfiddle.net/85r4vfqg/14/ - 변수 listOfBlurEventsWaitingToRun은 더 유용한 것으로 채울 수 있습니다. 특히 여러 요소가있는 경우 흐림 이벤트가 발생합니까? 그리고 activeElement를 보지 않고? "이벤트 대기열"을 직접 볼 수 있습니까? – Kwateco