gpt4 book ai didi

javascript - 使用 tel : doesnt work 防止 anchor 标记上的默认值

转载 作者:行者123 更新时间:2023-11-30 17:05:41 24 4
gpt4 key购买 nike

当用户点击一个电话号码时,它应该在桌面上不执行任何操作,而在移动设备上它应该调用该号码。我认为解决方案就像在桌面上返回 false 或 preventDefault 一样简单,但到目前为止它似乎不起作用:

<a href="tel:555555">555-555</a>

我正在使用 mouseup() 这样它只会在桌面上阻止它。该函数运行但浏览器仍尝试打开另一个应用程序。

$('a[href^="tel"]').mouseup(function (e) {
e.preventDefault();
return false;
})

是否有像这样简单且实际有效的解决方案,或者是检测移动设备并更改其他问题中看到的 href 属性的最佳方法?

解决方案

感谢下面的回答。 mouseup() 运行但无法阻止默认。这是使用 modernizr 的最终代码:

$('a[href^="tel"]').on('click',function (e) {
if ($("html").hasClass("no-touch")) {
e.preventDefault();
}
});

最佳答案

你可以这样做:

$('.no-touch a[href^="tel"]').on('click',function (e) {
e.preventDefault();
});

如果您需要它在触摸设备上工作,并且正在使用 Modernizr(看起来像),您可以改为这样做:

$('a[href^="tel"]').on('click',function (e) {

if (!Modernizr.touch) {
e.preventDefault();
}

... my touch code ...
});

关于javascript - 使用 tel : doesnt work 防止 anchor 标记上的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28086176/

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