Keyup没有回应

时间:2012-11-16 15:52:26

标签: jquery

我不知道到底发生了什么。

为什么我的简单javascript代码不起作用?在这里待了几个小时。我有一堆其他的javascript,正在考虑是否中断或其他什么?

尝试通过教程,然后我陷入第一行:

$('#name').keyup(function() {
    alert('alert');
});

我不知道这个问题..在小提琴中它当然都在工作 http://jsfiddle.net/pgWtK/1/

我尝试将文件准备好放在头部,但这没有任何帮助,任何线索?

5 个答案:

答案 0 :(得分:4)

你需要put it in $(document).ready(function(){以便在使用之前使用jquery的DOM元素,在你的case元素中使用id name来绑定keyup事件。

Also make sure you have included jquery tag. article 将指导您如何使用jquery。

$(document).ready(function(){    
     $('#name').keyup(function() {
        alert('alert');
     });
})

答案 1 :(得分:2)

可能会发生两件事,你没有正确加载Jquery库,或者你没有把这些代码放在文档准备好的内容

在你的头部示例中添加jquery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

j document ready

内的jquery
$(function(){
   $('#name').keyup(function() {
      alert('alert');
   });
});

答案 2 :(得分:2)

  1. 确保已安装FireBug或替代方案
  2. 检查jQuery是否正在FireBug的网络面板中加载或替代。如果您是从cdn加载并在本地进行测试,请确保如果没有加载则会出现回退
  3. 确保您的jQuery代码包含在$(document).ready(...)调用
  4. 在FiregBug或其他控制台中使用以下代码,以确保该事件已绑定到该元素:

    $( '#名')的数据( '事件');

答案 3 :(得分:0)

将您的代码包装在准备好的文档中

$(function(){
 //your code

});

在jsfiddle中它默认完成,但是如果你选择no-wrap(head)选项,它就不会将你的js代码包装在ready处理程序see it for yourself中。

It's always a good practice to place your js code inside the ready handler以便在所有js闪烁发生之前确保呈现DOM,或者您可以将js脚本放在标记的末尾

答案 4 :(得分:0)

问题在于vote.js文件 使用您错过$(

的代码更改代码
$(document).ready(function(){
   $(function(){
     $('#name').keyup(function() {
     alert('alert');
     });
  });
})