Notification.onclick为什么没有生效?

代码如下:

class mNotice {

  // 征得用户同意发送通知的相关代码...

  // 发送通知
  send = (title, body = "") => {
    const n = new Notification(title, body ? { body } : {});
    n.onclick = function(e){
      console.log(e, 1);
    };
    n.onerror = function(e){
      console.log(e, 2);
    };
    n.onshow = function(e){
      console.log(e, 3);
    };
    n.onclose = function(e){
      console.log(e, 4);
    };
  };
}

const notice = new mNotice();
notice.send("我是标题", "我是内容"); // 输出 3 4

通知可以正常发送,showclose事件可以正常触发,但是click事件不能触发(我当然有点击通知,但点击完后就直接执行默认事件了...)。
我也尝试使用以下写法,但都没有奏效:

   // 使用addEventListener
   n.addEventListener('click', function(e){
      console.log(e, 1);
   });

   // 阻止默认事件 
   n.onclick = function(s, e){
      e.preventDefault();
      console.log(e, 1);
   };

求问这是什么原因,如何解决?浏览器版本是PC chrome 80

阅读 1.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏