2011-09-23 120 views
0

我想學習使用jQuery進行ajax調用。但是我堅持使用jQuery本身的一個基本點。 Follwing是代碼我有,使用jQuery的困難

<head> 
<script type="text/javascript" src="jquery-1.6.2.js"></script> 
<script language="javascript"> 
     $(document).ready(function() 
     { 
     alert("Hello World!!!!") 
     $("#txt1").onkeydown(function(){ 
     alert("Event Fired") 
     $("#add").load("newjsp.jsp?q="+this.value) 

     }) 
    }) 
      </script> 
</head> 
<body> 
<form> 
    Comment: <input type="text" id="txt1"></input> 
</form> 
<p><p></p></p>  
<form id="add"> 
</form> 
</body> 

在進入在文本框中任意鍵不火的onkeydown事件(因爲沒有警覺「觸發的事件」)。我不明白可能是什麼問題。請幫忙。

感謝RISHABH

回答

3

使用​​,而不是onkeydown

.keydown(function(){...}).bind("keydown", function){ ... })的簡寫。

參見:http://docs.jquery.com

+3

同意,但我會建議使用'keyup()'。 –

+0

非常感謝Rob!現在我可以專注於打阿賈克斯電話! – Rishabh

+0

@Rishabh不要忘了接受這個答案,以表示你的感激和尊重;) –

3

如果你想向右走一路,在組合使用keypress,而不是onkeydown用一次性的jsfiddle綁定到keyup事件

$(document).ready(function() { 
    alert("Hello World!!!!"); 
    $("#txt1").keypress(function() { 
     $("#txt1").one('keyup', function() { 
      alert("Event Fired"); 
      $("#add").load("newjsp.jsp?q=" + this.value); 
     }) 
    }) 
}); 

現場採樣, (點擊運行開始)。

避免鍵等CTRL移位被處理,並且還避免了自動重複鍵的

note:您還應該過濾掉URL中不允許的所有字符。 )

按鍵
時觸發一個實際字符被插入,例如,文本輸入。它在用戶保持按下的狀態下重複。

jQuery.one將處理程序附加到元素的事件。處理程序每​​個元素最多執行一次。 link

+0

嘿,我已經添加了另一個問題到我原來的問題,你有什麼想法嗎? – Rishabh

+0

請提出一個新問題,而不是在這個問題上;) –