gpt4 book ai didi

javascript - 关于MouseEvents的问题

转载 作者:行者123 更新时间:2023-11-28 02:58:47 24 4
gpt4 key购买 nike

我现在正在捕获文本区域元素上的鼠标单击事件。

由于我必须在处理事件后停止传播,因此当我们使用中键单击文本区域时,插入符号将不会像平常一样设置。但我需要在进行进一步的工作之前设置它,所以我尝试手动调度鼠标事件。

我的代码是:

var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 1, origEvt.screenX, origEvt.screenY,
origEvt.clientX, origEvt.clientY, false, false, false, false, 0, null);
origEvt.target.dispatchEvent(evt);
...

此代码尝试模拟在同一位置的同一元素上单击鼠标左键。可以捕获分派(dispatch)的事件,但未设置插入符号。

谁能指导我如何做到这一点?

最佳答案

伪造事件不会导致默认操作发生。您必须自己复制它们。

在这种情况下,您必须使用 selectionStartselectionEnd 来设置文本区域上的输入焦点位置。然而,从鼠标位置获取适当的字符串偏移量将相当棘手。

目前尚不清楚您尝试执行的操作背后的目的是什么,但您必须找到另一种解决方法。也许您可以允许发生默认操作,但在执行后模糊文本区域并稍后将其聚焦回来?您还可以记住单击后的 selectionStart​/​ selectionEnd 属性,以便在稍后位置可能发生变化时将焦点重新设置回来。

关于javascript - 关于MouseEvents的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1812277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com