2016-04-08 4 views
0

Sadece onfocusout, onfocusin hakkında öğrendim, ancak bu işlevler işe yaramıyor. İkisini de firefox ve krom ile denedim. Odaklandığımda ve gevşettiğimde bile hiç konsol mesajı yok. Neyi yanlış yapıyorum? Eğer sayfa durumu hakkında merak ediyorsanız olay ismionfocusout/onfocusin çalışmıyor

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" />


ile "açık" kullanmayan addEventListener ile

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

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

+0

“Focus” ve “blur” olayları hakkında konuştuğunuz alan? –

+0

Buradan bakın: http://www.w3schools.com/jsref/event_onfocusin.asp ve buradan http://www.w3schools.com/jsref/event_onfocusout.asp – Black

+0

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

cevap

3

daha Farklı olaylara bakmanız gerekir: pageshow ve pagehide

+0

Bu doğru. Ama hala konsolumda mesaj yok. – Black

+0

Odak noktasını bulmaya ne çalışıyorsunuz? – epascarello

+0

Sadece, girişleri odaklarken ve bulanıklaştırdığınızda çalıştığını göstermek için onu düzenledik. – epascarello

2

Bununla ilgili bazı araştırmalar yaptım. Ve aslında bir metin alanı seçtiğinizde sadece "odak" kazanırsınız. kaynak: w3schools

Ne arıyorsanız, ekran en aza indirdiğinizde konsolun bir şey oturum açmak için mi? veya başka bir pencere seçin Eğer öyleyse ben bu here

+0

Evet, ekranı küçültür veya başka bir pencere seçersem, bir şeyler yapmak için bir çözüm bulmaya çalışırım. – Black

+1

O zaman bağlandığım gönderiyi okumalısın. Biraz kafa karıştırıcı ama eminim bunu anlayacaksın. Bağlantıyı kaçırdıysanız: [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

Sadece, okumak daha kolay aşağıdaki kod parçacığını kullanmak konusunda bir yazı buldum ama Ayrıca ben tam gereksinimleri bilmiyor olabilir

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

:-) olay işleyicileri aynı yapar Bu koddan, ancak neden sayfa odakları için bir dinleyici eklemeniz gerektiğini görmüyorum ...

+0

Kullanıcı en aza indirirse bir şeyler yapmaya çalışırım. sayfa – Black

+1

@EdwardBlack '' .yourfocuselement '' penceresini '' window' ile değiştirdikten sonra – RhysO

+0

@EdwardBlack de IE penceresinde window.focus olayının sayfa yüklenmesine neden olduğunu not etmelisiniz – RhysO