难以使用jquery

时间:2011-09-23 10:30:25

标签: javascript jquery ajax

我正在尝试使用jQuery学习ajax调用。但我在使用jQuery本身时陷入了一个非常基本的问题。 Follwing是我的代码,

<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

2 个答案:

答案 0 :(得分:3)

使用keydown代替onkeydown

.keydown( function(){...} ).bind("keydown", function){ ... })的缩写。

另请参阅:http://docs.jquery.com

答案 1 :(得分:3)

如果您希望一直向前,请将keypress代替onkeydownkeyup事件的一次性绑定结合使用

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

jsfiddle中的实时示例,(点击运行开始)。

可以避免处理 CTRL Shift 这样的键,并且可以避免自动重复键。

注意:您还应该过滤掉网址中不允许的所有字符。 ;)

<强>按键
在插入实际字符时触发,例如,文本输入。当用户按下键时,它会重复。

jQuery.one 将处理程序附加到元素的事件。每个元素最多执行一次处理程序。 link