Safari移动忽略防止默认

问题描述 投票:5回答:2

我在谷歌地图上的infowindow链接上使用e.preventdefault()。

它在桌面上按预期工作,其中链接不访问href,但在safari上它似乎忽略它并访问链接,好像没有加载javascript。

它显然正在加载javascript,因为谷歌地图以及许多标记和信息窗口正在加载正常。

链接的代码是这样的:

$('.infowindow .more, .infowindow h3 a').live('click', function(e) {
    e.preventDefault();

    /* Loading content from external html file */
    $('#content .content').html('<p class="loading"><img src="images/icons/loader.gif" alt="Loading content..."></p>');
    $('#content .content').load($(this).attr('href') + ' #content > *', function() {

显然,代码从这里开始与其他位和bobs。

有没有其他人有任何问题或知道解决方案?

谢谢

戴夫。

javascript jquery google-maps mobile safari
2个回答
0
投票

而不是使用

e.preventDefault();

附加在该函数的末尾

return false;

然后点击<a>元素将不会重定向到任何地方。


0
投票

这里派对有点晚了,但我在2019年遇到了同样的问题。我能够通过在html元素本身中放置preventDefault来解决这个问题:

<a href="http://dontvisitthis.com" onclick="event.preventDefault()">click</a>

jquery事件处理程序仍会在单击时触发。

© www.soinside.com 2019 - 2024. All rights reserved.