javascript - 点击事件的条件是否适用于否定语句?

标签 javascript onclicklistener addeventlistener

我有一个带有单击事件的事件监听器,并且希望始终触发我的函数,但有两个异常(exception)。这是我的代码(有效):


function setCookieTrueOnClick (event) {
    if (event.target.pathname === '/info' || event.target.classList.contains('NoTrigger') ) {

    } else {
      triggerTheFunction('true');
    }
}
window.addEventListener("click", setCookieTrueOnClick, false);

该事件始终触发,但当用户单击具有“NoTrigger”类的框或用户单击转到/info 的链接时不会触发。

现在,另一方面,当我使用否定条件时,代码不起作用(它始终触发该函数):


function setCookieTrueOnClick (event) {
if (event.target.pathname !== '/info' || !event.target.classList.contains('NoTrigger') ) {
     triggerTheFunction('true');
 }
}
window.addEventListener("click", setCookieTrueOnClick, false);

我不明白为什么,我也尝试使用“true”参数设置 eventListener,但它总是相同的。

最佳答案

正如 @Prera​​k Sola 评论的那样,您已经撤消了条件检查,但没有撤消整个条件。

if(!event.target.pathname === '/info' && !event.target.classList.contains('NoTrigger'))

您还需要将 || 反转为 && .尝试一下并告诉我们

关于javascript - 点击事件的条件是否适用于否定语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58410142/

相关文章:

javascript - .removeEventListener 存在问题。我无法将其从 HTML 元素列表中删除

javascript - 为什么我在此函数定义中得到 “Error 25: Expected: ;”?

javascript - 无法将 React 更新放入 MySQL 数据库

javascript - AJAX 中的方法参数是否需要大写?

android - 线性布局如何同时添加OnTouchListener和OnClickListener?

javascript - 事件监听器未添加到 div 元素

javascript - 获取在 JavaScript 中加载的图像的宽度

android - alertDialogue 中按钮的 OnclickListner 出现 NullPointerException

android - fragment 内 ListView 上的 OnItemClickListener 不起作用

javascript - 当我将鼠标悬停在html按钮上时, Electron 中的单击事件不起作用并且鼠标图标没有更改?