我有一个简单的单页设置。在根文件夹下,我有3个子文件夹(js,css和images)。在根文件夹中,我有一个index.html页面,其中包含以下内容:
<html>
<head>
<title></title>
<script language="javascript" src="js/jquery-1.3.2.min.js"></script>
<script language="javascript" src="js/myscript.js"></script>
</head>
<body>
<a onclick="doSomething()" href="#" class="doSomething">Click!</a>
</body>
<html>
myscript.js包含以下代码:
$('a.doSomething').click(function(){
//Do Something here!
alert('You did sometihng, woo hoo!');
});
当我点击链接时,没有任何反应。我错过了什么?
答案 0 :(得分:10)
围绕代码包装文档:
$(document).ready(function() {
$('a.doSomething').click(function(){
//Do Something here!
alert('You did sometihng, woo hoo!');
return false; // return false to prevent default action
});
});
就像现在一样,您正在尝试将事件绑定到DOM中尚不存在的元素。
另外,不确定为什么你在链接本身上有onclick
,因为jQuery的重点是能够将那些丑陋的内联事件从那里带出来并在javascript中干净地绑定它们。如果你这样做:
<a href="#" class="doSomething">yay click me</a>
然后使用上面的代码,它应该可以正常工作。
答案 1 :(得分:0)
起初我以为你错过了一个名为“doSomething”的功能。然后我意识到你希望你的选择器无论如何都能找到锚标签。但是,这不会发生。在脚本运行时,锚尚未添加到DOM中。