javascript - Javascript 可以知道用户是否选择了禁用警报的框(防止页面创建额外的对话框)

标签 javascript jquery alert

我有一个删除按钮,并且在 .mouseup 上它会创建一个警报弹出窗口,让用户确认或取消删除该对象。

这是我的 js:

$(".deleteIcon")
.mouseover(function() { $(this).closest('li').css("opacity", "0.7"); 
}).mouseout(function() { $(this).closest('li').css({ "opacity": "1", "background-color": "#89b8d7" });
}).mousedown(function() { $(this).closest('li').css("background-color", "#b71124");
}).mouseup(function() {   
var txt;
    var r = confirm("Are you sure you want to delete this file?");
    if (r == true) {
        $(this).closest('li').css("display", "none");
    } else {
        $(this).closest('li').css("display", "inline-block;");
    }

     });

问题: 如果用户选择(防止此页面创建附加对话框)选项 - 它会完全禁用删除功能。

问题: 如何更改当前代码以在用户禁用弹出框时创建后备。 例如:我将如何编写代码,以便如果用户禁用弹出警报来确认删除对象,则该对象无论如何都会被删除,而不会发出任何其他警告。

谢谢!

-编辑/说明:

我想我真正的问题是 JavaScript 是否可以知道用户是否选中了禁用警报的框,并根据该信息创建一个函数。

所以我并不是试图阻止用户禁用弹出窗口。但我的弹出窗口启用了我的对象的删除功能。因此,我只是想添加一些 JavaScript,它知道用户是否禁用了警报,如果是,则删除按钮只是删除该对象,而不会弹出任何安全网询问用户是否确定要删除它。我实际上喜欢用户可以禁用警报,以防他们觉得烦人。

最佳答案

编辑 转换为 wiki,因为与 how to know whether modal boxes (alert, prompt, confirm…) have been disabled in javascript? 重复

您可以做的是测量对话框可见的时间。

如果它仅在几毫秒内可见,那么它很可能根本没有显示,或者用户立即关闭它:

function customConfirm( msg ) {
  var startTime = new Date();
  var result = confirm(msg);
  var stopTime = new Date();

  if( stopTime.getTime() - startTime.getTime() < 100 ) {
     //do some fallback 
     //and call callback depending on how you implemented the fallback
  } else {
     callback(result);
  }
}

customConfirm('Are you sure you want to delete this file?', function(r) {
  if (r == true) {
    $(this).closest('li').css("display", "none");
  } else {
    $(this).closest('li').css("display", "inline-block;");
  }
});

关于javascript - Javascript 可以知道用户是否选择了禁用警报的框(防止页面创建额外的对话框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37434420/

相关文章:

javascript - 如何使用 jquery 稍微滞后地移动 div

javascript - 标签内的 HTML 按钮不会触发文件上传

JavaScript URL 解码功能

javascript - 如何在 Bootstrap 4 中制作进度条动画?

ios - 将整数发送回前一个 View Controller

java-me - 使用 LWUIT 弹出警报

javascript - 使用 jQuery 添加位于我的项目中的图像

javascript - 为 jQuery 模拟一个 "include_once"

当搜索查询没有匹配结果时,Javascript 发出警报

javascript - 在路由更改不起作用后取消angularjs超时