当我调试涉及具有有效HREF属性的锚标记的复杂交互时,有没有办法阻止MobileSafari继续导航到新URL?
我正在开发一些Javascript代码并在iPad上测试点击/触摸事件。我在Mac上使用Safari的开发工具与iPad上的Mobile Safari进行通信,没有任何问题。我的问题如下:
例如:
$('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中的错误,还是我错过了什么?