为什么我的jQuery没有绑定我的事件?

时间:2010-09-17 06:26:00

标签: javascript jquery javascript-events

我以为我理解JQuery,显然不是。在这个例子中,为什么第一个文本框注册了点击而不是第二个呢?

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4

/strict.dtd">
<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.min"/>
<script type="text/javascript">

    captureKeys = function(event)
    {
    alert("foo");
    }
    $(document).ready(function()
            {
        $('#UsingJQuery').bind('keyup', function(){alert('bar');});
            });

</script>
</head>
<body id="contentText" >
    <input type="text" id="UsingPlainJavaScript" onkeyup="captureKeys()"/>
  <input type="text" id="UsingJQuery"/>

</body>
</html>

编辑:好的,我已经解决了错字但仍然没有工作......

3 个答案:

答案 0 :(得分:4)

这是在惹麻烦:

<script type="text/javascript" src="jquery-1.4.2.min"/>

您需要</script>才能拥有有效的标记

<script type="text/javascript" src="jquery-1.4.2.min"></script>

这是一个很大的 NoNo ,可能是您遇到问题的原因。另一件事是,你的文件名中没有.js?确保您的jQuery lib具有正确的名称。

参考:http://www.w3.org/TR/xhtml1/#C_3

答案 1 :(得分:3)

因为第二个输入元素的ID是UsingJQuery(大写 U ),而不是usingJQuery

$('#UsingJQuery').bind('keyup', function(){alert('bar');});

应该这样做。

<强>更新

错误必须在其他地方,您的代码是正确的。请参阅:http://jsfiddle.net/H2xye/

也许你没有正确包含jQuery:

src="jquery-1.4.2.min.js"

你在路径的尽头缺少.js。至少这是标准命名,也许你重命名它 错误控制台应该告诉你更多。

Update2:请参阅jAndy关于</script>标记的回答。这可能是另一个问题!

答案 2 :(得分:1)

请改变 从

<script type="text/javascript" src="jquery-1.4.2.min"/>

<script type="text/javascript" src="jquery-1.4.2.min.js"/>