1var oTxt = document.getElementById('search'); 2var oList = document.getElementById('list'); 3var oBtn = document.getElementById('btn'); 4 5$(function() { 6 7 $.get("ajax.php?act=select", function(data, status) { 8 result = $.parseJSON(data); 9 var apiName = []; 10 for (var i = 0; i < result.length; i++) { 11 apiName[i] = result[i]; 12 } 13 //ç¹å»äºä»¶ 14 oBtn.addEventListener('click', function() { 15 var keyWord = oTxt.value; 16 // var apiNameList = searchByIndexOf(keyWord,apiName); 17 var apiNameList = searchByRegExp(keyWord, apiName); 18 renderapiName(apiNameList); 19 }, false); 20 //å车æ¥è¯¢ 21 oTxt.addEventListener('keydown', function(e) { 22 if (e.keyCode == 13) { 23 var keyWord = oTxt.value; 24 // var apiNameList = searchByIndexOf(keyWord,apiName); 25 var apiNameList = searchByRegExp(keyWord, apiName); 26 renderapiName(apiNameList); 27 } 28 }, false); 29 var cpLock = false; 30 $('#search').on('compositionstart', function() { 31 cpLock = true; 32 }); 33 $('#search').on('compositionend', function() { 34 cpLock = false; 35 var keyWord = oTxt.value; 36 // var apiNameList = searchByIndexOf(keyWord,apiName); 37 var apiNameList = searchByRegExp(keyWord, apiName); 38 renderapiName(apiNameList); 39 }); 40 $('#search').on('input', function() { 41 if (!cpLock) { 42 var keyWord = oTxt.value; 43 // var apiNameList = searchByIndexOf(keyWord,apiName); 44 var apiNameList = searchByRegExp(keyWord, apiName); 45 renderapiName(apiNameList); 46 } 47 }); 48 49 50 51 function renderapiName(list) { 52 if (!(list instanceof Array)) { 53 return; 54 } 55 oList.innerHTML = ''; 56 var len = list.length; 57 var item = null; 58 for (var i = 0; i < len; i++) { 59 // item = document.createElement('tr'); 60 oList.innerHTML += '<tr class="pack"><td class="title"><a href="doc/' + list[i]['address'] + '.php" target="_blank">' + list[i]['name'] + '</a></td><td><a href="doc/' + list[i]['address'] + '.php" target="_blank">' + list[i]['info'] + '</a></td><td><a href="doc/' + list[i]['address'] + '.php" target="_blank"><i class="fa fa-star"></i> ' + list[i]['num'] + '</a></td></tr>'; 61 // oList.appendChild(item); 62 } 63 } 64 65 66 67 68 //模ç³å¹é çæ¶å妿ä¸åºå大å°åï¼å¯ä»¥ä½¿ç¨toLowerCase()æè toUpperCase()转æ¢ä¹åå»å¹é ã 69 70 //æ¨¡ç³æ¥è¯¢1:å©ç¨å符串çindexOfæ¹æ³ 71 function searchByIndexOf(keyWord, list) { 72 if (!(list instanceof Array)) { 73 return; 74 } 75 var len = list.length; 76 var arr = []; 77 for (var i = 0; i < len; i++) { 78 //妿å符串ä¸ä¸å å«ç®æ å符ä¼è¿å-1 79 if (list[i].indexOf(keyWord) >= 0) { 80 arr.push(list[i]); 81 } 82 } 83 return arr; 84 } 85 //æ£åå¹é 86 function searchByRegExp(keyWord, list) { 87 if (!(list instanceof Array)) { 88 return; 89 } 90 var len = list.length; 91 var arr = []; 92 var reg = new RegExp(keyWord); 93 for (var i = 0; i < len; i++) { 94 //妿å符串ä¸ä¸å å«ç®æ å符ä¼è¿å-1 95 if (list[i]['name'].match(reg)) { 96 arr.push(list[i]); 97 } 98 } 99 return arr; 100 } 101 renderapiName(apiName); 102 }); 103 104});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.