मुझे क्रोम/वेबकिट 71305 बग द्वारा काटा जा रहा है जहां बड़ी संख्या में नोड्स को छिपाने से क्रोम लटका हुआ है। (सफारी में भी होता है)।लाइव फ़िल्टरिंग के लिए चारों ओर काम करें क्रोम में jQuery के साथ 1500+ आइटम
<input type="text" />
<ul>
<li>
<div>
<span title="93252"><label><input type="checkbox">3G</label></span>
</div>
</li>
</ul>
समय जावास्क्रिप्ट को निष्पादित करने में लगने वाला समय:
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");
}
});
मार्कअप के स्निपेट:
मैं किसी सूची आइटम है कि निम्नलिखित के साथ एक ड्रॉप डाउन मेनू में होगा छानने हूँ नगण्य है ऐसा तब होता है जब क्रोम को input
में पाठ को हटाने के बाद तत्वों को दोबारा हटाने की आवश्यकता होती है। एफएफ 6/आईई 7-9 में नहीं होता है। http://jsfiddle.net/uUk7S/17/show/
एक और दृष्टिकोण मैं छुपा और तत्वों है कि क्रोम लटका कारण नहीं दिखा के बजाय लेने के लिए कर सकते हैं:
मैं इस मुद्दे को वर्णन करने के लिए एक JSFiddle बनाया? मैंने क्लोन में प्रसंस्करण ul
क्लोनिंग और क्लोन के साथ पूरी तरह से डीओएम में ul
को प्रतिस्थापित करने की कोशिश की है, लेकिन मुझे उम्मीद है कि यह बेहतर तरीका है क्योंकि यह आईई में काफी धीमी है।
आप 'span' तत्वों के लिए समापन ब्रैकेट खो रहे हैं। क्या यह कारण हो सकता है? –
@ विलियम, यह सिर्फ एक गलती है जिसे मैंने विम में मार्कअप की सफाई करते समय बनाया था। मैं पहेली को ठीक कर दूंगा लेकिन मुद्दा अभी भी जारी रहेगा। (विशेष रूप से यह अन्य ब्राउज़रों में ठीक काम करता है)। – Soliah