0
我最近發現Resig的jQuery rewrite of a Quicksilver Live Search,並喜歡它的工作原理......但我試圖更新它以使用新的.on()事件處理程序。然而,我的能力(或缺乏)使我失敗。Resig的Live Search for jQuery 1.7及以上版本?
我想我需要編輯「this.keyup(filter)...」但我沒有什麼工作。有任何想法嗎?
更新:只是澄清一點。我想要更新腳本的想法是接受動態引入的列表項。只要它是一個靜態列表,一切都可以正常工作,但由於我已經引入了通過ajax調用創建的列表,因此無法工作。我會模擬一個小提琴並很快將其鏈接到這裏。與此同時,如果任何人都可以幫助我,它會拯救我的皮。謝謝。
jQuery.fn.liveUpdate = function(list){
list = jQuery(list);
if (list.length) {
var rows = list.children('li'),
cache = rows.map(function(){
//return this.innerHTML.toLowerCase();
return $('a', this)[0].innerHTML.toLowerCase();
});
this
.keyup(filter).keyup()
.parents('form').submit(function(){
return false;
});
}
return this;
function filter(){
var term = jQuery.trim(jQuery(this).val().toLowerCase()), scores = [];
if (!term) {
rows.show();
} else {
rows.hide();
cache.each(function(i){
var score = this.score(term);
if (score > 0) { scores.push([score, i]); }
});
jQuery.each(scores.sort(function(a, b){return b[0] - a[0];}), function(){
jQuery(rows[ this[1] ]).show();
});
}
}
};