Javascript 为什么不是';这不管用吗?它没有';我甚至都不叫onClick $(“a.filef”)。单击(函数(e){ 警报(“嗨,它工作了”); 返回false; });
您需要首先确保元素存在。请尝试以下方法:Javascript 为什么不是';这不管用吗?它没有';我甚至都不叫onClick $(“a.filef”)。单击(函数(e){ 警报(“嗨,它工作了”); 返回false; });,javascript,jquery,debugging,Javascript,Jquery,Debugging,您需要首先确保元素存在。请尝试以下方法: <script type="text/javascript"> $("a.filef").click(function(e){ alert('hi, it works'); return false; }); </script> <a class="filef" href="" rel="1">A</a> <a class="filef" href="" rel="2">V
<script type="text/javascript">
$("a.filef").click(function(e){
alert('hi, it works');
return false;
});
</script>
<a class="filef" href="" rel="1">A</a>
<a class="filef" href="" rel="2">V</a>
将代码放入:
$(function(){
$("a.filef").click(function(e){
e.preventDefault();
alert("Hi, it works.");
});
});
使其等待DOM加载完成后再运行。在您的情况下,它会等到链接存在后才尝试将逻辑绑定到它们
在某些情况下,需要在对象存在之前运行代码。许多支持ajax的网站就是这样。在这些情况下,jQuery具有类似外观的$.live()
方法:
$(function(){
/* here */
});
使用这种方法,元素是否已经存在,或者将来某个时候是否会出现,都无关紧要。除非您使用的是ajax或后期创建的元素,否则我建议您坚持使用第一种解决方案。您需要确保元素首先存在。请尝试以下方法:
<script type="text/javascript">
$("a.filef").click(function(e){
alert('hi, it works');
return false;
});
</script>
<a class="filef" href="" rel="1">A</a>
<a class="filef" href="" rel="2">V</a>
将代码放入:
$(function(){
$("a.filef").click(function(e){
e.preventDefault();
alert("Hi, it works.");
});
});
使其等待DOM加载完成后再运行。在您的情况下,它会等到链接存在后才尝试将逻辑绑定到它们
在某些情况下,需要在对象存在之前运行代码。许多支持ajax的网站就是这样。在这些情况下,jQuery具有类似外观的$.live()
方法:
$(function(){
/* here */
});
使用这种方法,元素是否已经存在,或者将来某个时候是否会出现,都无关紧要。除非您使用的是ajax或后期创建的元素,否则我建议您坚持使用第一种解决方案。您的代码同样适用于我,请查看:
将您的js代码放在页面底部,或者使用jquery的
ready
事件,该事件在DOM可用后触发。您的代码对我有效,请检查:
将js代码放在页面底部,或者使用jquery的
ready
事件,该事件在DOM可用后触发。将脚本包装在函数中,并将其作为参数传递给$(document)。ready(函数),或者您可以将其作为匿名函数内联编写
$(function(){
$("a.filef").live("click", function(e){
e.preventDefault();
alert("Hi, it works.");
});
});
$(文档).ready(函数(){
$(“a.filef”)。单击(函数(e){
警报(“嗨,它工作了”);
返回false;
});
});
将脚本包装到函数中,并将其作为参数传递给$(document).ready(函数),或者您可以将其作为匿名函数内联编写
$(function(){
$("a.filef").live("click", function(e){
e.preventDefault();
alert("Hi, it works.");
});
});
$(文档).ready(函数(){
$(“a.filef”)。单击(函数(e){
警报(“嗨,它工作了”);
返回false;
});
});
很抱歉,我没有使用jquery。把OP的功能放在…
下面也行吗。。。无法让自己键入$(文档)。准备好了吗?
:)+1以捕获问题并使用e.preventDefault()
而不是return false
@Doug:那些被诅咒的字符在我的代码中永远找不到位置:)对不起,我没有使用jquery。把OP的功能放在…
下面也行吗。。。无法让您自己键入$(文档)。准备好了吗?
:)+1以捕获问题并使用e.preventDefault()
而不是return false
@Doug:那些被诅咒的字符在我的代码中永远找不到位置:)这是因为JSBin在HTML的末尾添加了JS。DOM在该点完成。试试这个修订版,看看它是否会失败:这是因为你把script元素放在了anchor元素之后。这是因为jsbin把Javascript放在了元素之后。这是因为jsbin在HTML的末尾添加了JS。DOM在该点完成。尝试一下这个版本,看看它是否失败:这是因为您将script元素放在了anchor元素之后。它之所以有效,是因为jsbin将Javascript放在了元素之后。