使用jQuery跟踪来自浏览器的所有传出URL请求

use*_*189 1 javascript jquery

当用户点击指向我网站上不同页面的任何超链接时,我需要阻止用户界面.我知道有一种方法可以使用ajaxStart和ajaxStop跟踪所有jquery ajax请求,当浏览器等待来自服务器的响应时,我可以使用这些方法阻止我的UI.但有没有办法拦截所有主要浏览器(Firefox,Chrome和IE)的所有传出页面请求?

pim*_*vdb 5

您可以绑定委托事件处理程序,该处理程序拦截<a href>将导航到您网站页面的所有元素的点击:http://jsfiddle.net/sNDf3/2/.

?$("body").on("click", "a[href]", function(e) {
    // <a> elements have a .host property which represents the host of the href
    // so you can block internal links only
    if(this.host === "jsfiddle.net" && !confirm("Sure?")) {
        e.preventDefault();
    }
});???????????????
Run Code Online (Sandbox Code Playgroud)

即使您稍后因为委托而添加链接(将实际处理程序绑定到持久父级),这也会起作用.