2012-08-29 153 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事件處理程序。