Tarayıcımı tıklayıp odağı açtığımda bir yöntemi bir kez çalıştırmanın bir yolu var mı? Ve sonra tarayıcı odağı kaybettiğinde ve daha sonra tekrar tekrar bu yöntemi çalıştırmak için odağı geri aldığında.tarayıcı olayı()
Teşekkürler,
çubuk.
Tarayıcımı tıklayıp odağı açtığımda bir yöntemi bir kez çalıştırmanın bir yolu var mı? Ve sonra tarayıcı odağı kaybettiğinde ve daha sonra tekrar tekrar bu yöntemi çalıştırmak için odağı geri aldığında.tarayıcı olayı()
Teşekkürler,
çubuk.
Sen pencere alır veya odak (önemsiz örneğin http://jsfiddle.net/whQFz/ bakınız) kaybederse izlemek için window
nesne üzerinde focus
ve blur
olay işleyicileri ekleyebilirsiniz. window
geçerli tarayıcı bağlamına uygulanır (böylece bir pencere, bir sekme, bir çerçeve vb. Olabilir).
Not:focus
etkinliği pencere odak aldığı her zaman ateş edeceği ve blur
olay odağı kaybettiğinde her zaman tetikler. Odağı pencereden uzaklaştıran bir şey örneği, bir alert
penceredir. Bir onfocus
olay işleyicisinde uyarmaya çalışırsanız, sonsuz bir uyarı döngüsü elde edersiniz!
// Set global counter variable to verify event instances
var nCounter = 0;
// Set up event handler to produce text for the window focus event
window.addEventListener("focus", function(event)
{
document.getElementById('message').innerHTML = "window has focus " + nIndex;
nCounter = nCounter + 1;
}, false);
// Example of the blur event as opposed to focus
// window.addEventListener("blur", function(event) {
// document.getElementById('message').innerHTML = "window lost focus"; },
// false);
$(document).ready(function() { $(window).one("focus", SomeFocusMethod); });
var SomeFocusMethod = function()
{
// do stuff
$(window).one("blur", SomeBlurMethod);
}
var SomeBlurMethod = function()
{
// do stuff
$(window).one("focus", SomeFocusMethod);
}
Lütfen bu sorunun reddedildiğine ilişkin bir yorum ekleyin, en azından bana bu sorunun kabul edilebilir bir eki olarak görün. –
Kabul edilebilir bir yanıt değildir, çünkü .one() yöntemi olmadığından, yalnızca bir .on() yöntemi vardır, yanıtı düzelttim. –
jQuery'de bir 'one' yöntemi vardır ve oldukça kullanışlıdır: https://api.jquery.com/one/ – Lindsay
Eğer gerçekten javascript tarayıcı api "Sayfa Görünürlük API" kullanmalıdır IE9 daha yeni tarayıcıları hedefliyorsanız: https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API
Bu, tarayıcı penceresinin hala göründüğü, ancak odakta olmadığı durum için yardımcı olmaz. – Domi
Nasıl tarayıcı uyumluluğu ile bunun? –