//精准去词定位 function LookMatch() { } LookMatch.init = function(seach, els) { var that = new LookMatch(); that._setElement(seach, els); } LookMatch.initmany = function(warp) { var that ,seach,els; warp.each(function(index,item){ that = new LookMatch(); seach = $(item).find('input'); els = $(item).find('ul'); that._setElement(seach, els); }) } LookMatch.prototype._setElement = function(seach, ul) { this.seachEl = seach; this.ul = ul; this.backEls = this.ul.clone(true); var that = this; this.ul.on('click', 'li', function() { that.seachEl.val($(this).text()); that.ul.hide(); that.restore(); }); this.seachEl.on('focus', function() { that.ul.show(); }).on('blur',function(){ console.log('ss'); setTimeout(function(){ that.ul.hide(); },100) }) this.seachEl.next().on('click', function() { that.ul.show(); }); this.seachEl.on('keyup', function() { var q = $(this).val(); if (!q) { that.restore(); return; } var arr = []; that.ul.find('li').each(function(i, e) { var text = $(this).text(); var indexof = text.indexOf(q); if (indexof != -1) { arr.push(e); } }); if (!arr.length) { return; } $.each(arr.reverse(), function(i, e) { that.ul.prepend(e); }); }) } LookMatch.prototype.restore = function() { this.ul.empty().html(this.backEls.html()); } // 搜索框,列表 LookMatch.initmany($('.wordposition'));
*