3

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

为什么我的简单 JavaScript 代码不起作用?在这里待了几个小时。我有一堆其他的 javascript,在想它是不是中断了还是什么?

尝试通过教程,然后我被困在第一行:

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

我不知道问题所在..在小提琴中它当然可以正常工作 http://jsfiddle.net/pgWtK/1/

我试着把它放在头里,准备好文件,但这无济于事,有什么线索吗?

4

5 回答 5

4

您需要put it in $(document).ready(function(){让 DOM 元素在使用前可供 jquery 使用,在您的案例元素中,id 名称用于绑定 keyup 事件。

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

$(document).ready(function(){    
     $('#name').keyup(function() {
        alert('alert');
     });
})
于 2012-11-16T15:54:13.703 回答
2

可能会发生两件事,您没有正确加载 Jquery 库,或者您没有将该代码放入文档中

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

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

里面的jquerydocument ready

$(function(){
   $('#name').keyup(function() {
      alert('alert');
   });
});
于 2012-11-16T15:55:00.690 回答
2
  1. 确保安装了 FireBug 或替代品
  2. 检查 jQuery 是否在 FireBug 或替代的网络面板中加载。如果您从 cdn 加载并在本地进行测试,请确保在未加载时有备用
  3. 确保您的 jQuery 代码包含在$(document).ready(...)调用中
  4. 在 FiregBug 或替代控制台中使用以下代码,以确保事件已绑定到元素:

    $('#name').data('events');

于 2012-11-16T15:58:51.663 回答
0

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

$(function(){
 //your code

});

在 jsfiddle 它默认完成,但如果您选择该no-wrap(head)选项,它不会将您的 js 代码包装在ready处理程序中,请自行查看

将 js 代码放在ready处理程序中始终是一个好习惯,这样可以确保在所有 js 闪光发生之前渲染 DOM,或者您可以将 js 脚本放在标记的末尾

于 2012-11-16T15:54:47.330 回答
0

问题在于文件 vote.js 用你错过的代码更改代码$(

$(document).ready(function(){
   $(function(){
     $('#name').keyup(function() {
     alert('alert');
     });
  });
})
于 2012-11-16T16:40:56.857 回答