event.target.id没有在firefox上工作

时间:2016-03-07 12:18:40

标签: javascript jquery firefox

我有一个简单的点击功能,可以在IE和Chrome上正常工作但在Firefox上没有。起初,它直到我把它放在doc.ready函数中才起作用。这个例子在这里工作但是在firefox上它只显示doc ready警报,点击时点击工作警报但没有警告或与event.target.id有关的行动



<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() {
	alert("clickworking");
	alert(event.target.id);
	var targetid = "#" + event.target.id + "scroll";
	alert(targetid);
	$('html, body').animate({
        scrollTop: $(targetid).offset().top
    }, 1000);
})
});
</script>
&#13;
&#13;
&#13;

非常感谢任何帮助,谢谢你提前

2 个答案:

答案 0 :(得分:4)

在firefox中,您必须在事件处理程序中接收event对象,

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

Chrome不会指望收到它。但是在事件处理程序中接收它总是很好。

答案 1 :(得分:2)

您需要将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) {
	alert("clickworking");
	alert(event.target.id);
	var targetid = "#" + event.target.id + "scroll";
	alert(targetid);
	$('html, body').animate({
        scrollTop: $(targetid).offset().top
    }, 1000);
})
});
</script>