天天看點

JavaScript實作搜尋框智能提示需要注意

function getMoreContents() {	
		//獲得使用者輸入
		var content = document.getElementById("keyword");
		 if(content.value==null)
			return ; 		
		xmlHttp = createXmlHttp();
		var url = "search?keyword="+escape(content.value);
		//true表示JavaScript腳本将會send()在發送資料後繼續執行,而不會等待伺服器響應
		xmlHttp.open("get", url, true);	
		//綁定回調方法,在xmlHttp狀态改變時調用
		xmlHttp.onreadystatechange=callBack;
		// 用于post請求方式傳遞參數;由于是使用get方法,是以send參數為null
		xmlHttp.send(null);
	}
           

注意

xmlHttp.onreadystatechange=callBack;
           
回調不能有括号,否則不執行
           
for (var i = 0; i < size; i++) {
			var nextNode = contents[i];
			var tr = document.createElement("tr");
			var td = document.createElement("td");			
			td.setAttribute("border", "0");
			td.setAttribute("bgcolor", "#FFFAFA");
			td.onmouseover = function() {
				this.className = 'mouseOver'
			};
			td.onmouseout = function() {
				this.className = 'mouseOut'
			};
			td.onmousedown = function () {
				//點選滑鼠觸發的動作
			}
			var text = document.createTextNode(nextNode);
			td.appendChild(text);			
			tr.appendChild(td);
			document.getElementById("content_table_body").appendChild(tr);
		}
           

//有時onclick不執行可用onmousedown

//注意浏覽器的相容性:

//1.window.XMLHttpRequest

//2.addeventlistener 等綁定事件在各種浏覽器下的不同

繼續閱讀