event.target.id 不在火狐上工作

event.target.id not working on firefox

本文关键字:火狐 工作 target id event      更新时间:2023-09-26

我有一个简单的点击功能,在IE和Chrome上可以正常工作,但在Firefox上不能。 起初,它根本不起作用,直到我把它放在 doc.ready 函数中。 这个例子在这里有效,但在 Firefox 上它只显示文档就绪警报,单击时单击工作警报,但没有警报或与 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>

任何帮助都非常感谢,提前感谢您

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

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

Chrome 不会期望它被接收。但是,在事件处理程序中接收它总是好的。

您需要将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>