首页 文章

Javascript是否可以知道用户是否选择了禁用警报的框(阻止页面创建其他对话框)[重复]

提问于
浏览
1

这个问题在这里已有答案:

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

Here is my js for that:

$(".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;");
    }

     });

Problem: 如果用户选择(阻止此页面创建其他对话框)选项 - 它会完全禁用删除功能 .

Question: 当用户禁用弹出框时,如何更改当前代码以创建回退 . For example: 如何编写代码,以便在用户禁用弹出警报以确认删除对象时,对象将被删除,无需任何其他警告 .

谢谢!

-edit/clarification:

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

所以我不是想阻止用户禁用弹出窗口 . 但我的弹出窗口启用了我的对象的删除功能 . 因此,我只需添加一些javascript,知道用户是否禁用了警报,如果是,那么删除的按钮只是删除了对象而没有任何弹出安全网询问用户是否确定他们会删除它 . 我实际上喜欢用户可以在发现令人讨厌的情况下禁用警报 .

1 回答

  • 1

    EDIT 已转换为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;");
      }
    });
    

相关问题