zhaozhang 发表于 2024-3-9 15:11:33

逻辑上,鼠标点击的事件,1.mouseover,出现被选项阴影,2.mousedown,input中出现内容,3.mouseout,下拉框消失。
但执行1,使用b.dispatchEvent(new Event("mouseover")),返回true,但网页未出现被选中的背景。

zhaozhang 发表于 2024-3-9 15:14:27

李恒道 发表于 2024-3-9 13:30
看我前面说的
-----------------
不要去凭感觉猜


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

zhaozhang 发表于 2024-3-9 15:25:29

李恒道 发表于 2024-3-9 15:10
搞错重点了
这个还是你自己写的吧
你先尝试理解我说的


好的,谢谢大佬

zhaozhang 发表于 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,但没反应。

李恒道 发表于 2024-3-9 15:40:36

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

方便的话我远程看一下吧
QQ4548212

zhaozhang 发表于 2024-3-9 21:09:54

李恒道 发表于 2024-3-9 15:40
方便的话我远程看一下吧
QQ4548212

感谢李恒道大佬的帮助,虽然是个小问题,但梗了我3天了,李大佬的指点,瞬间通透。
以下是解决方法:根据
    $(document).on("mousedown","div",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");
b.dispatchEvent(new Event("mousedown",{bubbles:true,cancelable:true,composed:true}));
果然搞定,input框里出现了被选中"444444444444".

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

李恒道 发表于 2024-3-10 06:05:00

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

喜欢复盘是个好习惯
哥哥加油
页: 1 [2]
查看完整版本: 求助,下拉框选择问题