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

js如何触发事件

[复制链接]
  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5194

    回帖

    6076

    积分

    管理员

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

    积分
    6076

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

    发表于 2021-2-18 11:35:44 | 显示全部楼层 | 阅读模式
    if (element.fireEvent==null) {
     var evt = document.createEvent("HTMLEvents");
     evt.initEvent("change", false, true);
     element.dispatchEvent(evt);
    }
    else
     element.fireEvent("onchange");

    方法2

    var event = new Event('change');

    element.dispatchEvent(event);

    这种方法感觉相对通用

    来自https://developer.mozilla.org/zh-CN/docs/Web/Guide/Events/Creating_and_triggering_events

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情
    开心
    2024-3-18 08:43
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    9

    主题

    70

    回帖

    79

    积分

    初级工程师

    积分
    79
    发表于 2022-8-8 09:49:14 | 显示全部楼层
    还是看不懂这个事件监听要如何触发,因为JS是webpack打包,阅读不了。。。,页面上看不到绑定那些事件,但是从CHORMEI浏览器上看到有blur, chagne ,click, focus, intut, keydown, keyup 等。。要怎么才能知道触发哪个事件,并且利用tampermonkey 后台进行事件触发。。感觉在change动作上。能通过下断点来跟跟踪触发的条件和调用相关函数吗?
    回复

    使用道具 举报

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

    [LV.7]常住居民III

    637

    主题

    5194

    回帖

    6076

    积分

    管理员

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

    积分
    6076

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

    发表于 2022-8-8 10:13:24 | 显示全部楼层
    szzxc 发表于 2022-8-8 09:49
    还是看不懂这个事件监听要如何触发,因为JS是webpack打包,阅读不了。。。,页面上看不到绑定那些事件,但 ...

    可以参考
    [油猴脚本开发指南]元素规则校验和检测的触发
    https://bbs.tampermonkey.net.cn/thread-1250-1-1.html
    我一般的方式是对事件大概排个序
    然后一个一个删除无关紧要的保证最简
    (一般都是用的组件库,直接翻下框架源码看下组件库是哪个再翻下源码就七七八八了

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-18 08:43
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    9

    主题

    70

    回帖

    79

    积分

    初级工程师

    积分
    79
    发表于 2022-8-8 10:45:40 | 显示全部楼层
    李恒道 发表于 2022-8-8 10:13
    可以参考
    [油猴脚本开发指南]元素规则校验和检测的触发
    https://bbs.tampermonkey.net.cn/thread-1250-1-1 ...

    这个看过了,还是不太明白。。
    var e = document.queryselector('.xxxx');
    例如 e.dispatchEvent(input) 报错。
    failed to  execute  'dispatchEvent' on 'EventTarget':  parameter 1 is not of type 'Event'
    回复

    使用道具 举报

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

    [LV.7]常住居民III

    637

    主题

    5194

    回帖

    6076

    积分

    管理员

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

    积分
    6076

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

    发表于 2022-8-8 10:55:06 | 显示全部楼层
    szzxc 发表于 2022-8-8 10:45
    这个看过了,还是不太明白。。
    var e = document.queryselector('.xxxx');
    例如 e.dispatchEvent(input)  ...

    传入的参数类型不对的
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    11 小时前
  • 签到天数: 633 天

    [LV.9]以坛为家II

    30

    主题

    535

    回帖

    1408

    积分

    荣誉开发者

    积分
    1408

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

    发表于 2022-8-8 16:59:37 | 显示全部楼层
    szzxc 发表于 2022-8-8 10:45
    这个看过了,还是不太明白。。
    var e = document.queryselector('.xxxx');
    例如 e.dispatchEvent(input)  ...

    input要加引号
    "input"
    回复

    使用道具 举报

    发表回复

    本版积分规则

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