gpt4 book ai didi

javascript - PreventDefault 在 Firefox 上不起作用

转载 作者:行者123 更新时间:2023-12-03 21:46:48 26 4
gpt4 key购买 nike

我试图阻止 HREF 实际打开链接,而是执行脚本。我让脚本部分正常工作,但 Firefox 似乎会忽略这一点:

$("#permalink a").click(function(id){
$("#newPost").fadeToggle;
event.preventDefault();
var id = this.getAttribute('href');
$("#newPostContent").load(id);
$("#newPost").show("fast");
});

有人可以建议一个跨浏览器脚本来防止默认吗?

最佳答案

此问题的标准解决方案是从 click() 处理程序中返回 falsereturn false 相当于对事件调用 preventDefault()stopPropagation()preventDefault() 也足以完成此任务,因此它或 return false 都可以工作。

您的问题似乎是语法错误和参数命名错误。我明白了:

  • fadeToggle 没有括号;
  • 函数参数名为id,但您调用了event.preventDefault();和
  • 您要淡出帖子然后立即显示它吗?这会将两个动画排队,但没有多大意义。您可能希望以合理的方式将这两件事和 load() 链接在一起。

所以这应该有效:

$("#permalink a").click(function(event) {
$("#newPost").fadeToggle();
var id = this.getAttribute('href');
$("#newPostContent").load(id);
$("#newPost").show("fast");
return false;
});

在这种情况下,您可以自由地将 return false 替换为 event.preventDefault(),但传播的 click() 事件可能会导致其他问题取决于您拥有的其他事件处理程序。

关于javascript - PreventDefault 在 Firefox 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1367195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com