Safari移动忽略防止默认

时间:2011-04-14 13:39:35

标签: javascript jquery google-maps mobile safari

我在google地图上的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。

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

由于

戴夫。

2 个答案:

答案 0 :(得分:0)

而不是使用

e.preventDefault();

附加在该函数的末尾

return false;

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

答案 1 :(得分:0)

在这里参加聚会有点晚了,但是我在2019年遇到了同样的问题。我可以通过将preventDefault放在html元素本身中来解决此问题:

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

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