2012-03-11 55 views
0

我有一个div和我的页面中的锚链接,我正确地引用了jQuery。 这件事情是这样的:在jQuery中单击事件不工作,因为我期望

<div id="tools"></div> <!---- which has width and height , .. ---> 
<a class="navtab" href="#" id="onoff">Forum Tools</a> 

后,我把这个代码:

<script> 
$("#onoff").click(function { 
    $("#tools").fadeOut(2000); 
}); 
</script> 

我预计股利2秒后淡出,当我点击链接。但没有任何反应.. 但是当我使用它作为一个简单的声明没有任何事件,它完美的作品:

<script> 
$("#tools").fadeOut(2000); 
</script> 

,以确保没有错,我把整个代码为.load事件:

<script> 
$(document).ready(function() { 
$("#onoff").click(function { 
    $("#tools").fadeOut(2000); 
}); 
}); 
</script> 

但仍然没有机会:

我的代码有什么问题? 任何帮助,将不胜感激。

+1

确定那是你的整个代码?因为据我了解,没有'$(document).ready(function(){/ * code here in here * /});'你的代码正在运行,因为在DOM准备好之前和之前有任何元素目前将事件绑定到。另外,在你的第一个代码块中,你错过了应该在你的函数之后和打开花括号{'之前的括号'()'。 – 2012-03-11 20:26:46

+0

我看不出任何明显的代码错误。你在页面上有多个ID为'onoff'的元素?这是我能想到的最可能的原因。 – 2012-03-11 20:26:58

+1

@DavidThomas他说'

1

你需要你点击后添加()(函数

$("#onoff").click(function{ 

$("#onoff").click(function(){ 

而且,浏览器支持可能有问题如果你不使用:

<script type="text/javascript"> 

始终确保你已经包括了jQuery文件调用任何jQuery的功能之前:

<script type="text/javascript" src="/path/to/my/jquery.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#onoff").click(function(){ 
     $("#tools").fadeOut(2000); 
    }); 
    }); 
</script> 

功能齐全例如:

http://jsfiddle.net/TaW6Z/

相关问题