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

求助,下拉框选择问题

[复制链接]

该用户从未签到

1

主题

11

回帖

12

积分

助理工程师

积分
12
发表于 2024-3-9 15:11:33 | 显示全部楼层
逻辑上,鼠标点击的事件,1.mouseover,出现被选项阴影,2.mousedown,input中出现内容,3.mouseout,下拉框消失。
但执行1,使用b.dispatchEvent(new Event("mouseover")),返回true,但网页未出现被选中的背景。
mouseover事件触发后,被选项无蓝色背景.PNG
回复
订阅

使用道具 举报

该用户从未签到

1

主题

11

回帖

12

积分

助理工程师

积分
12
发表于 2024-3-9 15:14:27 | 显示全部楼层
李恒道 发表于 2024-3-9 13:30
看我前面说的
-----------------
不要去凭感觉猜

大佬,如何挨个监听器打进去看执行代码来分析流程,以及直接拿框架诸如点
回复

使用道具 举报

该用户从未签到

1

主题

11

回帖

12

积分

助理工程师

积分
12
发表于 2024-3-9 15:25:29 | 显示全部楼层
李恒道 发表于 2024-3-9 15:10
搞错重点了
这个还是你自己写的吧
你先尝试理解我说的

好的,谢谢大佬
回复

使用道具 举报

该用户从未签到

1

主题

11

回帖

12

积分

助理工程师

积分
12
发表于 2024-3-9 15:36:53 | 显示全部楼层
李恒道 发表于 2024-3-9 15:26
https://learn.scriptcat.org/%E6% ... %E8%A7%A6%E5%8F%91/

我发的是一点不看

大佬,不好意思,这一篇我看过,是讲事件发生的先后顺序,我尝试着理解事件的顺序,1.mouseover,2.mousedown,3mouseout,下拉框监听事件(勾选上级)也只有这3个。触发1,但没反应。
回复

使用道具 举报

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

    [LV.7]常住居民III

    637

    主题

    5198

    回帖

    6079

    积分

    管理员

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

    积分
    6079

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

    发表于 2024-3-9 15:40:36 | 显示全部楼层
    zhaozhang 发表于 2024-3-9 15:36
    大佬,不好意思,这一篇我看过,是讲事件发生的先后顺序,我尝试着理解事件的顺序,1.mouseover,2.mouse ...

    方便的话我远程看一下吧
    QQ4548212
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

    该用户从未签到

    1

    主题

    11

    回帖

    12

    积分

    助理工程师

    积分
    12
    发表于 2024-3-9 21:09:54 | 显示全部楼层
    李恒道 发表于 2024-3-9 15:40
    方便的话我远程看一下吧
    QQ4548212

    感谢李恒道大佬的帮助,虽然是个小问题,但梗了我3天了,李大佬的指点,瞬间通透。
    以下是解决方法:根据
        $(document).on("mousedown","div[name=searchDiv1]",function(){
            $("#select-input").val(this.innerText);
        });
    可知,mousedown的触发不在div,而在document,所以使用https://learn.scriptcat.org/%E6% ... %E8%A7%A6%E5%8F%91/提到的Event 函数,并设置冒泡,将事件逐级扩展,到达document一级,就能触发。
    试了一下:
    var b=document.querySelectorAll(("div#searchDiv div")[3];
    b.dispatchEvent(new Event("mousedown",{bubbles:true,cancelable:true,composed:true}));
    果然搞定,input框里出现了被选中"444444444444".

    个人是如此理解的,如有误,还请批评指正,再次感谢大佬帮助。
    回复

    使用道具 举报

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

    [LV.7]常住居民III

    637

    主题

    5198

    回帖

    6079

    积分

    管理员

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

    积分
    6079

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

    发表于 2024-3-10 06:05:00 | 显示全部楼层
    zhaozhang 发表于 2024-3-9 21:09
    感谢李恒道大佬的帮助,虽然是个小问题,但梗了我3天了,李大佬的指点,瞬间通透。
    以下是解决方法:根据 ...

    喜欢复盘是个好习惯
    哥哥加油
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

    12
    返回列表 发新帖

    发表回复

    本版积分规则

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