gpt4 book ai didi

javascript - # 或 javascript :void(0)?

转载 作者:数据小太阳 更新时间:2023-10-29 04:04:49 25 4
gpt4 key购买 nike

我不打算开始辩论。

如果我们要使用onClick事件,我们应该通过某种方式禁止href触发。 - 这是正确的吗?

如果以上是正确的,我相信 javascript:void(0) 具有不触发滚动行为的优点。

这些假设是否正确?

注意:我不打算搜索嵌合体,但我的任务是找到一种以跨浏览器的方式设置按钮样式的方法,并且(根本)没有可访问性命中,没有黑客攻击和怪癖。

最佳答案

如果你想阻止点击链接,你应该添加 event.preventDefault()在您的点击处理程序中(在 IE 中为 event.returnValue = false;)。

您似乎只是在寻找链接的外观,而不是它的功能(或目的)。如果是这样,您可以使用 button使用 CSS 对其设置相应的样式。

应避免使用 href 内容 #javascript:void(0) 的真实链接。

进一步说明:

使用链接只是为了让某些东西“可点击”是不好的。链接具有不同的句法含义。由于您可以为每个元素分配一个 click 事件处理程序,因此您可以为此使用任何其他元素。

句法上最正确的 (imo) 应该是 button因为您仍然可以使用 tab 在它们上导航。如果您愿意,可以使用 CSS 设置它们的样式,使它们看起来像一个链接 ( see this example)

现在关于防止默认操作:

假设您有一个具有适当 href 值的正常 链接并且您想要拦截点击。在您分配给元素的点击处理程序中,例如

link.addEventListener('click', function(event){
// some code
event.preventDefault();
}, false);

使用 event.preventDefault() 阻止默认操作,在链接的情况下,默认操作跟随 URL。

(以上代码为W3C兼容浏览器示例,IE略有不同)

关于javascript - # 或 javascript :void(0)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4842953/

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