2012-08-29 108 views
4

jQuery在Firefox中不工作。它在IE和Google chrome中工作正常,但是当我尝试在Mozilla Firefox中运行我的应用程序时,jQuery不起作用。任何猜测? 这里是我的一段代码jQuery在Firefox中不工作

<!DOCTYPE HTML PUBLIC> 
<html> 
    <head> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script> 
     <style> 
     div{ 
     width:200px; 
     height:100px; 
     border:1px solid red; 
     } 
     </style> 
    </head> 
    <body> 
     <div> One</div> 
     <div>Two</div> 
     <div>Three</div> 
    </body> 
    <script> 
     $('div').click(function(){ 
     alert("Hello....."); 
     }); 
    </script> 
</html> 
+1

http://jsfiddle.net/yVk53/ - 对我很好用 – Chris

+1

@Chris Go并查看该jsFiddle的源代码(http://jsfiddle.net/yVk53/show/),你会看到它实际上将所有代码封装在另一个'body'元素中,所以这不是一个公平的测试。 –

+1

是的..它从jsfiddle为我工作。但是,如果我在浏览器中打开相同的应用程序(保存在我的桌面上的代码相同),则它不起作用... –

回答

9

你应该使用DOM就绪事件

$(document).ready(function(){ 
    $('div').click(function(){ 
    alert("Hello....."); 
    }); 
}); 
+2

+1这是唯一正确的答案 –

+0

是啊......您是对的......我会让你的答案被接受为一..但我有一个疑问..我写了我的脚本在身体的末尾,所以它必须等同于document.ready()na !!! –

+0

@RamaRaoM你读过其他答案吗?这可能是因为你的脚本不在身体内,但是在外面... – sp00m

3

把你的jQuery代码内document.ready

$(document).ready(function() { 
    $('div').click(function(){ 
     alert("Hello....."); 
     }); 

}); 

给你的div适当class.just像

<div class="clsDiv"> One</div> 

AMD这样调用。

$('.clsDiv').click(function(){ 
+0

他为什么要给他的课堂上课? – sp00m

0

lukenz和shree钉了它。 必须先在$(document).ready()中注册用于html元素的JQUery事件处理程序。