当用户点击指向我网站上不同页面的任何超链接时,我需要阻止用户界面.我知道有一种方法可以使用ajaxStart和ajaxStop跟踪所有jquery ajax请求,当浏览器等待来自服务器的响应时,我可以使用这些方法阻止我的UI.但有没有办法拦截所有主要浏览器(Firefox,Chrome和IE)的所有传出页面请求?
您可以绑定委托事件处理程序,该处理程序拦截<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)
即使您稍后因为委托而添加链接(将实际处理程序绑定到持久父级),这也会起作用.