0
你可以看到任何在FF和Safari中都可以正常工作的原因,但是在IE9中運行時它會完全展現出來嗎?它需要永遠,幾乎掛起瀏覽器。謝謝!JS功能在FF和Safari中效果很好,但在IE9中需要很長時間
這是一個按鍵後刷新列表的函數。該函數清除列表,然後通過全局定義的數組進行線性搜索並將匹配添加回列表。
function handleKeyUp()
{
var selectObj, textObj, componentListLength;
var i, searchPattern, numShown;
// Set references to the form elements
selectObj = document.form1.componentselect;
textObj = document.form1.componentinput;
// Remember the function list length for loop speedup
componentListLength = componentlist.length;
// Set the search pattern depending
if(document.form1.componentradio[0].checked == true)
{
searchPattern = "^"+textObj.value;
}
else
{
searchPattern = textObj.value;
}
// Create a regular expression
re = new RegExp(searchPattern,"gi");
// Clear the options list
selectObj.length = 0;
// Loop through the array and re-add matching options
numShown = 0;
for(i = 0; i < componentListLength; i++)
{
if(componentlist[i].search(re) != -1)
{
selectObj[numShown] = new Option(componentlist[i],"");
numShown++;
}
}
}
你能在腳本調試通過它一步,並試圖弄清楚發生了什麼要花這麼長時間?另外,componentListLength的價值是什麼?你正在處理一些巨大的清單嗎? –
有多少種選擇? –
列表中大約有6500個項目。 – user1026110