SORU
8 HAZİRAN 2009, PAZARTESİ


Eğer bir giriş varsa test etmek için kullanarak bir WordPress kullanmak odağı

Birkaç bina olduğum bir sitenin ön sayfasında <div>s CSS :fareyi üzerine bir kenarlık eklemek için hover özelliği kullanın. <div>s biri, DV kullanarak, eğer içinde bir giriş varsa sınırı tutacak <form> bir odak içerir. Bu IE6 desteklemiyor dışında mükemmel çalışıyor :herhangi bir öğe <a>s dışında gezdirin. JQuery css taklit etmek için kullanıyoruz sadece bu tarayıcı için :hover kullanarak $(#element).() vurgu yöntemi. Tek sorun, artık bir WordPress kullanmak hem form odağı kolları()vegiriş kullanıcı fare ve içeri dışarı hareket ediyor sonra da odağa sahip olduğunda, sınırı geçer. () getirin,

Koşullu bir tür bu davranışı durdurmak için kullanabiliriz. Eğer varsa giriş odağa sahip fare üzerinde test ettik örneğin, uzağa gitmekten sınır durdurabiliriz. Bildiğim kadarıyla yok :jQuery seçici odak, bunu gerçekleştirmek için nasıl emin değilim. Herhangi bir fikir?

Yardımlarınız için teşekkürler.

CEVAP
21 NİSAN 2010, ÇARŞAMBA


bir WordPress kullanmak 1.6

jQuery biz artık kendimiz eklemek lazım :focus seçici eklendi. Sadece kullanım $("..").is(":focus")

jQuery ve aşağıda 1.5

Düzenleme:Zaman değişti gibi, odaklanma, this gist from Ben Alman yeni gözdesi test etmek için daha iyi yöntemler buluyoruz:

jQuery.expr[':'].focus = function( elem ) {
  return elem === document.activeElement && ( elem.type || elem.href );
};

Alıntı Mathias Bynens here:

(elem.type || elem.href) test vücut gibi yanlış pozitif filtre eklendiğini unutmayın. Bu şekilde, tabii form denetimleri ve köprüler dışında tüm öğeleri filtrelemek için yapıyoruz.

Yeni bir seçici tanımlama. Plugins/Authoring bkz. Sonra da yapabilirsiniz:

if ($("...").is(":focus")) {
  ...
}

ya da:

$("input:focus").doStuff();

Herhangi bir WordPress kullanmak

Eğer sadece odağın hangi anlamaya istiyorsanız, kullanabilirsiniz

$(document.activeElement)

Eğer varsa, sürüm 1.6 veya daha düşük olacak Eğer emin değilse, eğer eksik ise :focus seçici ekleyebilirsiniz:

(function ( $ ) {
    var filters = $.expr[":"];
    if ( !filters.focus ) { 
        filters.focus = function( elem ) {
           return elem === document.activeElement && ( elem.type || elem.href );
        };
    }
})( jQuery );

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kontor.TV

    Kontor.TV

    14 Mart 2006
  • krotoflik

    krotoflik

    26 ŞUBAT 2011
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013