我有一个简单的点击功能,可以在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;
非常感谢任何帮助,谢谢你提前
答案 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>