You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击文档时检测是否点击含data-action="inc"属性按钮的代码问题

检测点击带有data-action="inc"的按钮问题修复

你的代码始终返回false是因为两个关键错误:

  • hasAttribute()的参数使用错误:它仅接受属性名称(比如data-action),不能传入选择器语法[data-action='inc']
  • 未处理e.target.closest('button')返回null的情况:点击非按钮区域时,这个方法会返回null,直接调用hasAttribute会触发报错

以下是两种正确的实现方式:

方式一:通过dataset判断属性值

document.addEventListener('click', (e) => {
  const targetBtn = e.target.closest('button');
  // 先确认找到按钮,再检查data-action的值是否为inc
  const isIncButton = targetBtn && targetBtn.dataset.action === 'inc';
  console.log(isIncButton);
});

方式二:直接用选择器匹配目标按钮

document.addEventListener('click', (e) => {
  // 直接查找是否存在符合条件的祖先按钮
  const isIncButton = e.target.closest('button[data-action="inc"]') !== null;
  console.log(isIncButton);
});

内容的提问来源于stack exchange,提问作者Anon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 01:25:24