单击tel:,mailto,skype链接时阻止socket io解除连接

时间:2016-12-12 21:25:12

标签: javascript websocket socket.io

我刚刚注意到,当我点击具有href = to tel:或mailto:或skype的链接<a></a>时,socket io正在断开连接。 我问这个问题是否有简短/简单的解决方法。 如果链接目标设置为“_blank”,那么socket io保持连接但我不认为这是首选解决方案!

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要在事件发布到窗口之前捕获并抑制事件。

Google:js event bubbling。

现在,关于如何捕获和抑制事件:

首先,您需要对生成事件或其容器的元素进行id。

接下来,设置文档加载事件处理程序。

在文档加载事件处理程序中,将click事件处理程序附加到先前的ided元素。

点击处理程序应该有一个参数“event”并返回void。

现在,谷歌:Javascript事件类型,并了解您可以在活动上调用的不同方法。

我相信你需要调用的是event.stopPropagation(),但是文档(我建议MDN)应该提供一个权威的参考。

接下来,在事件处理程序中,实现自定义处理代码(打开新选项卡,设置当前选项卡的位置等)。