Chrome/Webkit 71305 hatasından ısırıldığım için çok sayıda düğümün Chrome'un askıda kalmasına neden oluyor. (Ayrıca Safari'de gerçekleşir). biçimlendirmeCanlı filtreleme için yaklaşık 1500'den fazla ürünü Chrome'da jQuery ile çalışın
jQuery.expr[':'].Contains = function(a, i, m) {
return $.trim((a.textContent || a.innerText || "")).toUpperCase().indexOf(m[3].toUpperCase()) == 0;
};
var input = $('input');
var container = $('ul');
input.keyup(function(e) {
var filter = $.trim(input.val());
if (filter.length > 0) {
// Show matches.
container.find("li:Contains(" + filter + ")").css("display", "block");
container.find("li:not(:Contains(" + filter + "))").css("display", "none");
}
else {
container.find('li').css("display", "block");
}
});
Snippet'ine:
<input type="text" />
<ul>
<li>
<div>
<span title="93252"><label><input type="checkbox">3G</label></span>
</div>
</li>
</ul>
JavaScript çalıştırmak için geçen zamanı
aşağıdaki ile açılır menü olacak bir liste öğesini filtreleme am ihmal edilebilir. Chrome'un input
'daki metni sildikten sonra öğeleri sildikten sonra yeniden çizmesi gerekiyor. FF6/IE7-9'da olmaz. http://jsfiddle.net/uUk7S/17/show/
Ben gizleme ve Chrome askıda kalmasına neden olmaz unsurları göstermek yerine alabilir başka bir yaklaşım var mı:
Sorunu göstermek için bir JSFiddle yaptı?ul
klonlama işlemini klonlamada ve DOM'de
ul
'u tamamen klonla değiştirmeyi denedim, ancak IE'de önemli ölçüde daha yavaş olduğu için daha iyi bir yol olduğunu umuyorum.
"span" öğeleri için kapatma dirseğini kaçırıyorsunuz. Sebebi bu olabilir mi? –
@William, bu sadece Vim'deki işaretlemeyi temizlerken yaptığım bir hata. Kemanı tamir edeceğim ama sorun hala devam edecek. (Özellikle diğer tarayıcılarda iyi çalıştığından). – Soliah