Resig 的 jQuery 1.7 及更高版本的 Live Search redux?

Posted

技术标签:

【中文标题】Resig 的 jQuery 1.7 及更高版本的 Live Search redux?【英文标题】:Resig's Live Search redux for jQuery 1.7 and above? 【发布时间】:2012-12-29 01:43:54 【问题描述】:

我最近发现了 Resig 的 jQuery rewrite of a Quicksilver Live Search 并喜欢它的工作原理……但我正在尝试更新它以使用新的 .on() 事件处理程序。然而,我的能力(或缺乏能力)令我失望。

我想我需要编辑“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();
            );
        
    
;

【问题讨论】:

【参考方案1】:

所以我偶然遇到了this post,在jfk 的帮助下,它几乎总结了我正在寻找的东西。我想让脚本在创建动态内容后运行,而我应该做的是在用户想要进行搜索时调用脚本。

$('#staticParent').on("click", "#searchField", function()
    $(this).livesearch("#dynamicElements").focus();
);

如果有更多高级开发人员提供的有关改进此功能的其他信息,我会全力以赴。我希望这有一天可以帮助另一个。 :)

【讨论】:

以上是关于Resig 的 jQuery 1.7 及更高版本的 Live Search redux?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery 1.6 及更高版本会使 Django 的 FilteredSelectMutliple 无法使用

sh 在Mac 10.11.5及更高版本的10.11系列和10.12.1及更高版本的10.12系列中安装Caffe

ios7及更高版本导致图像图标错误

嗅探 Firefox 4 及更高版本的方法

Google Play 服务库 9.0 及更高版本

SASS-LOADER 版本 8.0.0 及更高版本