当我调试涉及具有有效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中的错误,还是我错过了什么?