1. 程式人生 > >JS實現回車搜尋

JS實現回車搜尋

方法一

functionhuichesearch(){//回車搜尋
    varevent =window.event||arguments.callee.caller.arguments[0];
    if(event.keyCode== 13){
        search();//搜尋函式
    }
}

程式碼解釋:當window觸發事件或者函式被呼叫觸發事件時,判斷是否按下回車鍵(keyCode=13),按下回車鍵時進行搜尋。

window.event代表事件物件的狀態,只有在事件(如滑鼠、鍵盤等事件)被觸發時這個物件才存在。

arguments.callee指函式體本身,即huichesearch()函式本身;

arguments.callee.caller.指函式體的呼叫函式體;

Arguments.callee.caller.arguments[0]指事件物件。

方法二:(考慮到瀏覽器相容性)

function huichesearch(e){//回車搜尋
    varkeyCode =window.event? e.keyCode:e.which;
    if(keyCode== 13){
        search();//搜尋函式
    }
}

程式碼解釋:

which 和 keyCode 屬性提供瞭解決瀏覽器的相容性的方法:

l keyCode屬性返回onkeypress事件觸發的鍵的值的字元程式碼,或者 onkeydown 或 onkeyup 事件的鍵的程式碼。

瀏覽器支援:

注意:在 Firefox 中,keyCode 屬性在 onkeypress 事件中是無效的 (返回 0)。瀏覽器相容問題,可以一起使用 which 和 keyCode 屬性來解決:
var keyCode = window.event ? e.keyCode:e.which;

which 屬性返回onkeypress事件觸發的鍵的值的字元程式碼,或者 onkeydown 或 onkeyup 事件的鍵的程式碼

瀏覽器支援:


對於某個控制元件的操作

 $("#buildingsearch").keydown(function(e){
      if(e.keyCode ==13){ // 觸發鍵盤事件enter 防止冒泡產生
          initPageInfo();
          return false;
      }
  });

對於全域性的

$(function(){
	 document.onkeydown = function(e){ 
	    var ev = document.all ? window.event : e;
	    if(ev.keyCode==13) {
	        initPageInfo();
	        return false;
	
	     }
	}
}); 

轉自:https://blog.csdn.net/u012881904/article/details/53022814