上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

用preventDefault()方法无法取消元素的点击事件

[复制链接]
  • TA的每日心情
    慵懒
    2022-7-14 02:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    1

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2022-7-14 00:25:44 | 显示全部楼层 | 阅读模式
    悬赏1油猫币未解决

    image.png
    原网页中自带的SubscribeItem()点击事件
    以下用preventDefault()方法无法取消
    var Sub = document.querySelector('#SubscribeItemBtn');
    Sub.addEventListener('click',(e)=>{
    e.preventDefault();
    })

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6078

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-7-14 01:55:25 | 显示全部楼层
    on系列函数和addevent具体行为没研究过
    但是都拿到dom元素了
    直接删掉onclick不好吗
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 23:59
  • 签到天数: 634 天

    [LV.9]以坛为家II

    30

    主题

    535

    回帖

    1408

    积分

    荣誉开发者

    积分
    1408

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2022-7-14 09:32:01 | 显示全部楼层
    本帖最后由 steven026 于 2022-7-14 09:36 编辑

    https://developer.mozilla.org/zh ... vent/preventDefault
    我的理解是e.preventDefault()只能阻止浏览器默认事件(比如右键菜单)

    如果你要阻止按钮点击事件需要改成
    e.stopPropagation() //禁止向上冒泡

    e.stopImmediatePropagation() //禁止剩余同类事件(先添加的无法禁止)

    另外针对这种直接写在DOM标签上的onclick,可以直接用JS删除
    document.querySelector('#SubscribeItemBtn').removeAttribute("onclick")

    已有1人评分好评 理由
    极品小猫 + 1 阻止默认事件 例如A超链接是跳转网页,按钮.

    查看全部评分 总评分:好评 +1 

    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表