JavaScript-在页面中查找文本并跳转到页面中的位置

前端之家收集整理的这篇文章主要介绍了JavaScript-在页面中查找文本并跳转到页面中的位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个具有大量记录的网页(比如表中的250行数据),并希望能够访问页面,立即开始打字,并让它跳到与我拥有的文本相匹配的第一行类型.

理想情况下,如果我继续输入更多的角色,所以第一场比赛不再匹配,那么可以继续回应我的输入,并跳转到新的比赛.

我已经尝试过window.find(),但没有太多的成功…任何人都可以推荐一个工作的解决方案?

我基本上正在寻找相当于键盘上的“CTRL-F”,除了不需要按CTRL-F来实现.

解决方法

我认为这很棘手的一部分实际上是智能地接受用户输入.因此,我会说最好的办法是把你的搜索转移到一个自动完成类型的插件.一旦页面准备就绪,您将焦点传递到输入文本框,然后让插件在您搜索时执行其魔术…

例如,您可以使用quicksearch插件.

然后给出一个数据表和一个这样的输入:

<input id="searcher" type="text" name="searcher">

你可以有一个准备好的功能,如下所示:

$('#searcher').quicksearch('table tbody tr',{
    'delay': 100,'bind': 'keyup keydown','show': function() {
        if ($('#searcher').val() === '') {
            return;
        }
        $(this).addClass('show');
    },'onAfter': function() {
        if ($('#searcher').val() === '') {
            return;
        }
        if ($('.show:first').length > 0){
            $('html,body').scrollTop($('.show:first').offset().top);
        }
    },'hide': function() {
        $(this).removeClass('show');
    },'prepareQuery': function(val) {
        return new RegExp(val,"i");
    },'testQuery': function(query,txt,_row) {
        return query.test(txt);
    }
});

$('#searcher').focus();

试试这里:http://jsfiddle.net/ZLhAd/369/

编辑:添加其他答案/评论,使输入固定,并阻止这个可怕的跳跃如此可笑.

猜你在找的JavaScript相关文章