如何删除非被动事件监听器?

时间:2018-02-07 07:47:46

标签: javascript jquery events codemirror

我正在开发代码编辑器。实际上,我在版本2.0.1的末尾,这是一个包含新功能的重要版本。但就在将谷歌Chrome浏览器更新到他的最新版本(64 ...)之前,我在代码中做了一些更改,我不知道它是什么。

Chrome更新后,当我打开编辑器文件时,我无法点击javascript按钮或链接。这也不适用于其他浏览器。 Project lombok source code

我使用的事件有:clickloadbeforeunloadreadykeyupkeydown,{{1 }},onlineofflinemousedownmousemovemouseovermouseoutmouseuptouchstarttouchmove和CodeMirror事件。

有人可以帮我删除阻止我的应用上的事件的非被动事件监听器吗?

1 个答案:

答案 0 :(得分:1)

我在 -

上设置断点
  $("span.jdb-toggle-fullScreen").click(function(){

它永远不会命中,所以我在包含函数的开头设置了一个断点 -

  $(".jdb-author-name").html(jdb.info.detail.author.name[1]).on("click", function() { window.open(jdb.info.detail.author.url); });

它确实击中了。我跨过这些线,直到我得到这个代码 -

  // Say Hi Coder every 24h.
  if (jdb.cookie("Hello_World")) { return; }

在你显示一些消息/ toast之后,条件总是返回true,我假设并且当你在接下来的24小时内再次加载页面时,你将永远不会继续运行包含函数,你将永远不会到达代码行将事件侦听器添加到这些按钮。

解决方案 -

改变 -

  // Say Hi Coder every 24h.
  if (jdb.cookie("Hello_World")) { return; }
  iziToast.show({
    title: "Bonjour, cher Codeur! ",
    timeout: false, position: "topRight",
    onClosing: function() {
      jdb.cookie("Hello_World", "Yes", {
        expires: 1,
        path: "/"
      });
    }
  });

到 -

  // Say Hi Coder every 24h.
  if (!jdb.cookie("Hello_World")) {
    iziToast.show({
      title: "Bonjour, cher Codeur! ",
      timeout: false, position: "topRight",
      onClosing: function() {
        jdb.cookie("Hello_World", "Yes", {
          expires: 1,
          path: "/"
        });
      }
    });
  }

为了在cookie存在时不要只运行toast代码。