2014-03-06 68 views
-2

编辑回答下面,与文件准备:)任何想法为什么这个jquery不工作?

我实际上试图获得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> 
+0

文件准备就绪? –

+0

为什么要包含jQuery两次? – Phil

+0

在你的问题中存在javascript ......这是'new_file.js'中的JavaScript吗? –

回答

5

主要原因是您试图在jQuery甚至加载之前通过jQuery绑定处理程序!确保你的jQuery脚本在你的声明之后,然后根据你可能需要的DOM准备好的处理程序。

你必须等待,直到你的DOM准备结合处理,包你的JQ在DOM准备好处理程序:

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

    }); 
}); 

或者把你的代码在页面的末端。

+0

他试图在存在之前使用jquery,除非我错过了解释这个问题。 –

+0

@KevinB - 是的,看起来它可能是一个问题,大声笑,虐待编辑答案。 – tymeJV

+0

我想他只是不知道如何分开两个代码段,在这种情况下,您的答案可以解决他的问题。他仍然包括一个不必要的jQuery的第二个副本,但它不会实际上破坏我想要的任何东西。 –

相关问题