2010-07-05 107 views
0

我已经绑定了某些节标题上的.click事件,以便当用户单击其中一个标题时,该节将显示/消失。jQuery .click()不能脱机工作吗?

到目前为止好,但由于某种原因,当我下线时,这不起作用。

我不明白这样的行为,有谁能够启发我吗?

下面的代码:

<script src="jquery-1.4.2.min.js" type="text/javascript" charset="utf-8"></script> 

    <script> 
    $(function(){ 

    $("#contactInfoHeader").click(function(){ 
     if($("#contactInformation").is(":visible")){   
      $("#contactInformation").fadeOut(); 
     }else{ 
      $("#contactInformation").fadeIn(); 
     } 
     resizeWidget(); 
    }); 

    }); 
    </script> 

    <h3 id="contactInfoHeader">Contact Information</h3> 
    <div id="contactInformation">Telephone:XXXXXX</div> 
+5

发布您如何加载jQuery。任何jQuery代码的工作? – 2010-07-05 16:31:01

+0

jQuery在线运行良好,请参阅我更新的问题 – 2010-07-05 16:38:04

+2

因此,使用模式为:您转到页面,它可以工作,“离线”,并且*相同页面*停止工作? “脱机”是什么意思? (不同的浏览器和不同的操作系统有不同的想法...) – 2010-07-05 16:45:33

回答

1

你有一些代码不一致,或者你是错它的工作原理。

,应该在的document.ready,以及:

$(function() { 
/* your code */ 
}); 

否则它不会点击事件附加到任何东西,因为该元素是不存在的运行。

+0

jQuery在线时可以正常工作,我只是忘了发布整个事情。请看我更新的问题。 – 2010-07-05 16:37:45

+0

你有本地的jQuery源代码吗?获取错误? – 2010-07-05 16:41:14

+0

jQuery源是本地存储的。没有错误出现在Firebug中。 – 2010-07-05 16:55:21

2

在jQuery 1.4.x中,您应该使用此格式将处理程序附加到ready事件。或者您可以保留$(处理程序);或者您可以保留$(处理程序);语法,,但您需要关闭参数

<script> 
$(function(){ 

    $("#contactInfoHeader").click(function(){ 
     if($("#contactInformation").is(":visible")){   
      $("#contactInformation").fadeOut(); 
     }else{ 
      $("#contactInformation").fadeIn(); 
     } 
     resizeWidget(); 
    }); 

});//ADDED ")" here! 
</script> 
+0

这是解决方案。@pedro:你需要确保等待所有标签被加载,否则你的选择器将只返回一个空集合而不会引发错误。 – dguaraglia 2010-07-05 17:10:40

+0

对不起,我不清楚:jQuery在线时可以工作。我只是在编辑我的问题时忘记包括我的右括号。只有当我选中“脱机工作”时,问题才会出现 – 2010-07-06 06:57:45

2

亲爱的,您正在使用简单的jQuery,它使用它的在线文件。所以当你在线时它是有效的,但离线按钮停止工作。而已。这很简单。