2010-11-18 25 views
2

Mouseover ve mouseout nedeniyle IE'deki bazı açılır kapanma sorununa rastladım. Bu nedenle, agax'tan dinamik olarak veriyi saklamak ve gezinmek için kodunu değiştirdim.jquery live hover çalışmıyor

Ancak aşağıdaki kod çalışmıyor, ayrıca en son jquery'yi aldım.

Aşağıdaki kod hatasız ama kesinlikle @ Patrick çözümüyle ile gitmek, IE6 desteğini gerekmiyorsa

$('.cs-rec').live("hover", 
     function() {  
     $(this).find('.cs-title').css('text-decoration','underline'); 
     }, 
     function() { 
     $(this).find('.cs-title').css('text-decoration','none'); 
     } 
    ); 

cevap

3

çalışmıyor idam oluyor. Eğer bunu destekleyecek var varsa

:

$('.cs-rec').live("mouseenter", function() {  
    $(this).find('.cs-title').css('text-decoration','underline'); 
}).live("mouseleave", function() { 
    $(this).find('.cs-title').css('text-decoration','none'); 
}); 

Veya (henüz dokümanlarında olmasa da) jQuery 1.4 içinde: böyle bölmek gerek .live() no 2 yöntem aşırı yüklenme var .3+ böyle bir harita alabilir: Bunun için CSS kullanmayın bir neden

$('.cs-rec').live({ 
    mouseenter: function() {  
    $(this).find('.cs-title').css('text-decoration','underline'); 
    }, 
    mouseleave: function() { 
    $(this).find('.cs-title').css('text-decoration','none'); 
    } 
}); 
+0

@ Nick, yukarıdaki kod üstelik onun bir sonraki sayfada menüyü hale çalışmıyorsa, abov titriyor e kodu daha sonra yayına girecek, ancak sanat stilleri gibi damlalar düsünüyorsa, yukarıdaki kodun IE'de titremesi söz konusu ise http://locwww.art.com/products/p12838878-sa-i2055985/vincent%20van%20gogh-almond% 20branches% 20in% 20bloom,% 20san% 20remy,% 20c.1890.htm? Sorig = cat & sorigid = 0 & dimval = 23944 & ui = 29ccdb60b8304c9c8de9008b6c546003 – kobe

+0

@gov - Çocuklara girerken bile ateş eden “mouseover” ve “mouseout” ile eşleştiği için titriyor. ... CSS burada bir seçenek değil mi? Ya da doğrudan bağlanma seçeneği * aslında * mouseenter 've' mouseleave' kullanabilirsiniz? –

+0

@nick, sağa inline yapabilirim. – kobe

1

var mı? IE6 çalışmayacak, ancak çoğu diğerleri olacak.

.cs-red .cs-title { 
    text-decoration: none; 
} 
.cs-red:hover .cs-title { 
    text-decoration: underline; 
} 

DÜZENLEME: o bahsettiğin navigasyon alanı olup olmadığını tam genişliğine genişletilir her <li> içinde bir <a> sahip olması için aşağıdaki işaretlemeyi ayarlamak olabilir, sitenize baktığımızda ve <li>'un yüksekliği.

Bu şekilde, IE6 desteklenebilir ('un <a> ürününe yerleştirilmesi).

1

seyretmeye bağlanması mümkündür, ancak zor:

jQuery'nin olarak

vurgulu olay (eşleme da, mouseover eşlenmiş, ve MouseLeave, MouseEnter için belirtilebilir 1.4.1 ve mouseout).

Olay türüne göre (aynı zamanda jQuery dokümanlar alınan kod örneği) davranışını dönebilir ve tek yöntemi kullanmak ve gereken:

$('.hoverme').live('hover', function(event) { 
    if (event.type == 'mouseenter') { 
     // do something on mouseover 
    } else { 
     // do something on mouseout 
    } 
}); 
0

bu doğrudur ...

$("#your_div_id").live('mouseover',function(){ 

    $(this).find(".child_div").css('background-color','#111111'); 

}).live('mouseout',function(){ 

    $(this).find(".child_div").css('background-color','#757575'); 
}); 
1
$('.edit_hover').live('hover', function(event) { 
    if (event.type == 'mouseenter') { 
    // first function here 
    } else { 
    // second function here 
    } 
});