javascript:捕获当前页面上的任何点击事件并阻止导航?

时间:2014-08-02 06:33:50

标签: javascript

function stopNav() {
var han;
evt = window.event

  if (evt) {
  var elem = evt.target ? han = evt.target : evt.srcElement && (han = evt.srcElement)
       if (evt.type=="click") {  
          evt.preventDefault();alert('stopped navigation');
      }
  }
}

我希望防止用户离开页面的可能性。有时,如果他们点击链接或按钮甚至是元素,它将导航到另一个页面。我想防止这种情况发生。如果在页面上发生了一些ajax事件,那很好。

1 个答案:

答案 0 :(得分:1)

回复您的评论

  

@ Rohit416是的,它应该只在导航开始时停止。我想知道我是否可以在不定义onbeforeunload处理程序

的情况下执行此操作

我必须指出你不能。没有其他单一的可靠方法来检测您的网页何时被卸载,也没有任何方式来阻止用户离开您的网页。考虑一下他们可以留下的其他方式,例如在地址栏中输入新地址,或点击书签等。

onbeforeunload只是一种向用户提供他们现在不应该离开的建议的方式,但决定仍在他们手中。

如果您阻止用户点击您网页上的链接,那么首先要获得链接的重点是什么?