jQuery事件绑定不一致

fgw7neuy  于 2022-12-18  发布在  jQuery
关注(0)|答案(3)|浏览(145)

我以为我理解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>

编辑:好的,我已经修复了错字,但它仍然不工作。

oyt4ldly

oyt4ldly1#

这是自找麻烦:

<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

bvk5enib

bvk5enib2#

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

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

应该可以。

更新日期:

错误一定是在其他地方,您的代码是正确的。请参阅:http://jsfiddle.net/H2xye/
也许您没有正确地包含jQuery:

src="jquery-1.4.2.min.js"

路径末尾缺少.js。至少这是标准命名,也许您重命名了它。
错误控制台应该会告诉您更多信息。

  • Update 2:请参阅jAndy关于</script>标签的回答。这可能是另一个问题!*
rt4zxlrg

rt4zxlrg3#

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

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

相关问题