ユーザーがページの外側をクリックした場合にイベントをトリガーすることはできますか?より具体的には、ブラウザのタイトルバーまたはタブバーで?
これを私のjsFiddleの例で試してください。
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();
});
テスト
まず、「ここをクリック」ボタンをクリックします。それで...
- ドキュメントの一部をクリックしてみてください:OK
- ページの一部をクリックするか、ブラウザウィンドウのフォーカスを解除してみてください:OK
- ブラウザで開いている他のタブをクリックしてみてください:OK
- ブラウザのタイトルバーまたはタブのタイトルをクリックしてみてください:失敗
それで...
この問題を解決することは可能ですか?
試験結果
- Chrome:最後に失敗します。
- Firefox:最後に失敗します。
- IE10:最後に失敗します。
- Opera:最後に失敗します。