当我调试涉及具有有效HREF属性的锚标记的复杂交互时,有没有办法阻止MobileSafari继续导航到新URL的路径?

我正在开发一些Javascript代码并在iPad上测试点击/触摸事件 . 我已经在我的Mac上使用Safari的Dev Tools与iPad上的Mobile Safari进行通信,没有任何问题 . 我的问题如下:

  • 在iPad上,我点击了可以进行一些复杂交互的标签(点击与长按等) .

  • Safari的开发工具在我的断点处直接在事件处理程序内部中断

  • 即使javascript代码被破坏,iPad也会继续关注该链接 .

例如:

$('a').on('click', function(e) {
  console.log('wtf');
  // ...Handler Code...
});

console.log() 语句的Safari Dev Tools中设置断点将按预期打破Javascript,但浏览器将继续导航到链接的地址,从而导致页面发生变化 . 这有效地阻止我调试任何涉及链接点击的交互 .

但是,如果您在事件中 preventDefault() ,Safari将无法继续(如果我没有调试,会发生这种情况):

$('a').on('click', function(e) {
  e.preventDefault();
  console.log('wtf');
  // ...Handler Code...
});

这与Chrome / Firefox / IE处理这种调试方式有很大不同 . 这是MobileSafari或Safari Dev Tools中的错误,还是我错过了什么?