2013-03-02 2 views
0

사용자가 외부 페이지를 클릭하면 이벤트가 트리거 될 수 있습니까? 더 구체적으로, 브라우저 제목 표시 줄이나 탭 표시 줄에서?외부 이벤트 발생시 트리거 이벤트

시도해주세요. jsFiddle example

HTML

<div id="box"> 
    <div id="menu">Click here</div> 
    <div id="show">Hello!</div> 
</div> 

JS

jQuery('div#menu').on('click', function(ev) { 
    jQuery('div#show').addClass('visible').css({ 
     top: ev.clientY, 
     left: ev.clientX 
    }); 

    return false; 
}); 

jQuery(document).click(function() { 
    jQuery('div#show').removeClass('visible'); 
}); 

jQuery(window).blur(function() { 
    jQuery(document).click(); 
}); 

TESTS

먼저에서 클릭 "여기를 클릭"버튼을. 그래서 ...

  1. 시도는 일부 문서 부분에 클릭 : 좋아
  2. 일부 페이지의 일부 또는 없앱 브라우저 창에 클릭하십시오 : 좋아
  3. 시도를 브라우저에서 다른 열 탭을 클릭합니다 : 확인
  4. 브라우저 제목 표시 줄이나 탭 제목에 클릭하십시오 : 실패

SO ...

이 문제를 해결할 수 있습니까?

TEST 결과

  • 크롬 : 마지막에 실패;
  • 파이어 폭 : 마지막으로 실패;
  • IE10 : 마지막으로 실패;
  • 오페라 : 마지막으로 실패;
+0

불가능합니다. –

+1

jsFiddle이 Chrome에서 작동합니다. 현재 탭을 클릭해도 메뉴가 닫히지 않지만 Chrome에서 다른 탭을 클릭하거나 Chrome 창 외부를 클릭하면 메뉴가 닫힙니다. –

답변

1

이렇게 말씀해 주셔서 죄송하지만 가능하지 않습니다.

이유? 기본적으로 윈도우의 제목 표시 줄/탭 표시 줄을 클릭해도 실제로 요소가 포커스를 잃지는 않습니다.

여기이 예제를보십시오 : 당신은 제목 바/탭 표시 줄을 클릭하면 텍스트 상자가 문제의 근본 인 모든 초점을 잃게하지 않는 것을 알 수 있습니다

http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onblur

.

저는 이것이 당신의 프로젝트에서 큰 문제라고 생각하지 않습니다. 사용자의 관점에서 볼 때 현재와 같이 멋지게 보일 것입니다.

+0

오. 도와 주셔서 감사합니다. :( –

관련 문제