2011-09-23 119 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

请提出一个新问题,而不是在这个问题上;) –