javascript - 如何使用 CSS 属性选择器实现小文本列表搜索功能

标签 javascript css

我的要求是在 phonegap 应用程序中显示联系人列表。由于 Phonegap 应用程序中的 JS 执行速度很慢,是否有任何替代方案可以减少 JS 开销?

最佳答案

Here is a way .我使用它并在 Android 上获得了良好的性能。

<div id="container">
   <style class="search-style" type="text/css"></style>
   <input type="text" class="search" />
   <div class="content" data="archana">Archana</div>
   <div class="content" data="prathap">Prathap</div>
   <div class="content" data="pramod">Pramod</div>
   <div class="content" data="pradeep">Pradeep</div>
   <div class="content" data="prakash">Prakash</div>
   <div class="content" data="prasad">Prasad</div>
   <div class="content" data="stefan">Stefan</div>
   <div class="content" data="stefan">Dmytro</div>
</div>

JS:

  var List = (function (w, d) {
        function List(className, target) {
            function byQ(i) {
                return d.querySelector(i);
            }
            var input = byQ('.search'),
                style = byQ('.search-style');
            this.target = target;
            this.className = className;
            input.addEventListener('keyup', function () {
                var val = this.value.replace(/\s+/g, '');
                if (val.length > 0) {
                    html = "." + className + ":not([data^=" + val.toLowerCase() + "]) { display:none; }";
                } else {
                    html = "." + className + "[data]{display:block}";
                }
                style.innerHTML = html;
            }, false);
        }
        return List;
  })(window, document);


  new List('content', document.getElementById('container'));

Demo

关于javascript - 如何使用 CSS 属性选择器实现小文本列表搜索功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22103648/

相关文章:

javascript - 文件类型 "Required"不适用于 iPhone?

javascript - NetSuite Suitelet 文件输出

html - 在 HTML 和 CSS 中更改列宽

html - div 大小自动调整到内容

css - ReactJS Material UI inkbar 不显示选项卡

html - 获取带有圆 Angular 和边框的表格

html - 需要有关滚动条按钮的帮助

javascript - 如何在 5 秒后触发输入提示?

javascript - function(e){e.something...} 什么是 e?

php - javascript setTimeOut - 不在嵌套的 setTimeout 上运行