【问题标题】:prevent map area click to reload the page防止地图区域点击重新加载页面
【发布时间】:2014-02-03 19:38:31
【问题描述】:

http://jsbin.com/iTeNiJIt/1/edit?output

我的页面中有几个地图区域。单击这些区域中的任何一个时,我希望在同一页面内创建一些动画。问题是每次单击该区域时页面都会刷新。即使使用了stopPropagation() 方法,我也无法保持这种状态。如果单击图像的区域,我只需要调用一些方法。有没有更好的办法??

【问题讨论】:

  • 将 href 更改为 href="javascript:;"它刷新的原因是因为 # 会将用户带到当前页面的顶部,并将其留空会刷新页面。添加 javasript:;到 href 欺骗它认为它需要运行一些 javascript 所以不再刷新。

标签: javascript jquery imagemap


【解决方案1】:

event.stopPropagationreturn false; 不是一回事。在点击处理程序上返回 false 并且一切就绪。

$('map[name=blueBall] area').on('click',function(e){
    //... snip ...
    e.stopPropagation();
    return false;
});

好东西:
What's the difference between e.preventDefault(); and return false?
What's the difference between event.stopPropagation and event.preventDefault?

【讨论】:

  • 手边没有 IE,但在 Firefox 中添加 return false 对我来说效果很好。还有什么变化吗?
  • 我认为事件传播问题已经解决。但我对“事件”的事情有疑问。检查这个 - stackoverflow.com/questions/21554197/…也许你能帮忙
猜你喜欢
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 2021-03-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
  • 2019-11-09
  • 1970-01-01
相关资源
最近更新 更多