2016-04-08 29 views
0

私はちょうど約onfocusoutonfocusinについて学んだが、これらの機能は動作していないようです。私はfirefoxとchromeの両方でそれを試しました。私がフォーカスを持っていて、それを緩めても、コンソールメッセージは全くありません。何が間違っているのですか?ページの状態に疑問を抱いている場合は、イベント名onfocusout/onfocusin not working

function example(evt) { 
 
    console.log(evt.type, event.target.id); 
 
} 
 

 
window.addEventListener("focusin", example); 
 
window.addEventListener("focusout", example);
<input type="text" id="foo" /> 
 
<input type="text" id="bar" />


で "オン" を使用していないのaddEventListenerで

window.addEventListener 
 
(
 
    "onfocusout", 
 
    function() 
 
    { 
 
    console.log("page lost focus"); 
 
    } 
 
); 
 

 
window.addEventListener 
 
(
 
    "onfocusin", 
 
    function() 
 
    { 
 
    console.log("page has focus"); 
 
    } 
 
);
<h1>Test</h1>

+0

「フォーカス」と「ブラー」イベントについて話していますか? –

+0

ここをクリックしてください:http://www.w3schools.com/jsref/event_onfocusin.aspとここにhttp://www.w3schools.com/jsref/event_onfocusout.asp – Black

+0

@RubyRacer https://developer.mozilla.org/en -US/docs/Web/Events/focusin – epascarello

答えて

3

、よりあなたは別のイベントを見る必要があります:pageshowpagehide

+0

ああ、正しい。しかし、私のコンソールにはまだメッセージはありません。 – Black

+0

あなたは何の焦点を見つけようとしていますか? – epascarello

+0

入力をフォーカスしてぼかしたときに機能することを示すために編集しました。 – epascarello

2

私はこれに関するいくつかの研究を行ってきました。また、実際にテキストフィールドを選択した場合にのみ、「フォーカス」が得られます。ソース:w3schools

だから、あなたが探しているのは、画面を最小化するときにコンソールが何かを記録することですか?別のウィンドウを選択しますか? ので、私はこのhere

+0

はい、私は画面を最小化するか、別のウィンドウを選択すると何かのための解決策を見つけることを試みます。 – Black

+1

あなたはおそらく、私がリンクしている投稿を読むべきでしょう。ちょっと混乱しますが、私はあなたがそれを理解すると確信しています。あなたがリンクを逃した場合:[http://stackoverflow.com/questions/1060008/is-there-a-way-to-detect-if-a-browser-window-is-not-currently-active](http ://stackoverflow.com/questions/1060008/is-there-a-way-to-detect-if-a-browser-window-is-not-currently-active) – DarkEyeDragon

0

に関する記事がすぐ下のコードスニペットを使用した場合、それは読みやすいですが、

$(function(){ 
    $('.yourfocuselement').focus(function(){ 
     //The code for element focus goes here 
    }) 
    $('.yourfocuselement').blur(function(){ 
     //The code for element lose focus goes here 
    }) 
}) 

:-)イベントハンドラと同じでも、私はあなたの完全な要件を知らないかもしれませんこのコードから、私はページフォーカスのリスナーを追加する必要がある理由がわかりません。

+0

私はユーザーがページ – Black

+1

@EdwardBlackは '' .yourfocuselement''を 'window'に置き換えます。 – RhysO

+0

@EdwardBlack IEでwindow.focusイベントがページロードで発生することに注意してください – RhysO