2016-03-07 89 views
0

我有一個簡單的點擊功能,可以在IE和Chrome上正常工作,但在Firefox上無法正常工作。起初,它一直工作,直到我把它放在doc.ready函數中。這裏這個例子中工作,但在Firefox它只顯示文檔準備好警報,點擊時clickworking警報,但不得不做event.target.idevent.target.id不能在firefox上工作

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script> 
 
<p class="clickbtn" id="someclickbtn"> Click here </p> 
 
<script type='text/javascript'> 
 
$(document).ready(function(){ 
 
alert("doc ready"); 
 
$(".clickbtn").click(function() { 
 
\t alert("clickworking"); 
 
\t alert(event.target.id); 
 
\t var targetid = "#" + event.target.id + "scroll"; 
 
\t alert(targetid); 
 
\t $('html, body').animate({ 
 
     scrollTop: $(targetid).offset().top 
 
    }, 1000); 
 
}) 
 
}); 
 
</script>

任何幫助都沒有警告或行動不勝感激,謝謝提前

+0

傳遞一個'event'到'函數()'? – 2016-03-07 12:20:14

+1

如果這是在鉻和IE工作,也許該瀏覽器有問題。如果一個變量(在這種情況下爲'event')沒有被定義,那麼就需要拋出一個錯誤。如果沒有,瀏覽器有問題。 Firefox再次正常工作:) –

+0

[爲什麼FF說window.event是未定義的? (調用函數添加事件監聽器)](http://stackoverflow.com/questions/9813445/why-ff-says-that-window-event-is-undefined-call-function-with-added-event-list) – Kaiido

回答

4

在Firefox中,你必須接受event對象在事件處理程序,

$(".clickbtn").click(function(event) { 

Chrome將不會期望它被收到。但在事件處理程序中接收它總是很好的。

+1

是的..沒有參數,它會在'-moz-'...'this'中失敗,我可以使用.. – Rayon

+1

很酷,非常感謝你的工作馬上,沒有意識到你只是不得不在他們的 – Alex

+0

中添加'event'這不僅是「好的」,它是根據規範,「window.event」不在標準軌道上,它是一個IE專有屬性:https://developer.mozilla.org/en-US /文檔/網絡/ API /窗/事件 – Kaiido

1

您需要添加event對象作爲函數的參數。

這是該行:

$(".clickbtn").click(function(event) { 

這裏是片段:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script> 
 
<p class="clickbtn" id="someclickbtn"> Click here </p> 
 
<script type='text/javascript'> 
 
$(document).ready(function(){ 
 
alert("doc ready"); 
 
$(".clickbtn").click(function(event) { 
 
\t alert("clickworking"); 
 
\t alert(event.target.id); 
 
\t var targetid = "#" + event.target.id + "scroll"; 
 
\t alert(targetid); 
 
\t $('html, body').animate({ 
 
     scrollTop: $(targetid).offset().top 
 
    }, 1000); 
 
}) 
 
}); 
 
</script>

相關問題