知道为什么这个Jquery不工作了吗?

时间:2014-03-06 22:22:00

标签: javascript jquery html

编辑回答如下,文档已准备就绪:)

我实际上是想让html5的可争议功能保存到ajax然后再保存到我的MYSQL表..但由于某种原因我甚至无法让这个Javascript弹出。当我查看我的控制台时,我只看到“测试控制台”调试。任何想法为什么这不适合我。我在下面附上了html和javascript文件。

var script = document.createElement('script');
script.src = '//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);

console.log('Testing console');

$( "#target" ).keyup(function() {
  alert( "Handler for .keyup() called." );
  console.log('Tasdasdasdasdasdasd');

});


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

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
        <script type="text/javascript" src="new_file.js"></script>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>testing</title>
        <meta name="author" content="Gaming" />
        <!-- Date: 2014-03-06 -->
    </head>
    <body>
      <form>
        <input id="target" type="text" value="Hello there">
      </form>
      <div id="other">
         Trigger the handler
      </div>
    </body>
</html>

1 个答案:

答案 0 :(得分:5)

主要原因是你在jQuery加载之前尝试通过jQuery绑定处理程序!确保你的jQuery脚本在你的声明之后,然后根据你需要一个DOM就绪处理程序。

您必须等到DOM准备好绑定处理程序,将jQ包装在DOM就绪处理程序中:

$(document).ready(function() {
    $( "#target" ).keyup(function() {
      alert( "Handler for .keyup() called." );
      console.log('Tasdasdasdasdasdasd');

    });
});

或者将您的代码放在页面的末尾。