当用户点击超链接时,避免留下页面确认

时间:2016-03-10 19:06:15

标签: javascript

当用户离开当前页面时,此方法会显示确认消息:

window.addEventListener("beforeunload", function (e) {
              var confirmationMessage = "¿Seguro?";

              e.returnValue = confirmationMessage;     // Gecko, Trident, Chrome 34+
              return confirmationMessage;              // Gecko, WebKit, Chrome <34
        });

这还包括点击正常的链接,因为它也会离开页面。

正如我在其他网站上看到的那样,Javascript方法是什么方法可以避免在超链接点击时显示此消息?

1 个答案:

答案 0 :(得分:0)

如果e.returnValue不是空字符串,则会显示确认信息。您应该检查以查找引发事件的对象并相应地设置该值:

   window.addEventListener("beforeunload", function (e) {
          var confirmationMessage = "";

          // Only set the message when the target wasn't a link
          if(e.target.nodeName !== "A"){
              confirmationMessage = "¿Seguro?";
          }

          e.returnValue = confirmationMessage;     // Gecko, Trident, Chrome 34+
    });