Reactjs 将事件发射到反应Dom中
我想将合成鼠标事件(mouseDown、mouseMove、mouseUp)发送到React dom中。我尝试了本机浏览器事件和React合成事件Reactjs 将事件发射到反应Dom中,reactjs,material-ui,webvr,Reactjs,Material Ui,Webvr,我想将合成鼠标事件(mouseDown、mouseMove、mouseUp)发送到React dom中。我尝试了本机浏览器事件和React合成事件 function emitEvent(eventName, args){ console.log("clientX:" + args.clientX + " clientY:" + args.clientY); let node = ReactDOM.findDOMNode(component); let event = n
function emitEvent(eventName, args){
console.log("clientX:" + args.clientX + " clientY:" + args.clientY);
let node = ReactDOM.findDOMNode(component);
let event = new MouseEvent(eventName, extend({
'view': window,
'target': node,
'bubbles': true,
'composed': true,
'cancelable': true
}, args));
node.dispatchEvent(event);
// ReactTestUtils.Simulate[eventName](node, extend({
// 'view': window,
// 'target': node,
// 'bubbles': true,
// 'composed': true,
// 'cancelable': true
// }, args));
}
我试图在WebVR中生成触发DOM更改的事件。在WebVR中,我计算我希望导致事件发生的鼠标坐标。我无法确定鼠标坐标下的元素,我希望浏览器能帮我解决这个问题
使用node.dispatchEvent,我可以在树下发送类似“mousedown”的事件,如果我显式注册处理程序,它们确实会被触发
但是,我似乎无法使UI中发生任何更改。
我想能够做的是完全的鼠标交互,所以改变标签,移动滑块等等。。来自虚拟现实
有什么想法吗
注意:我正在使用MaterialUI。请拿一张,也许这就可以了。我可以看出,这是一个没有适当解决办法的常见问题。问题的根源可能是生产构建中的死代码消除(然后尝试开发构建)和/或浏览器安全性。另外,看一看(可能不足以满足您的用例)。一位同事建议如下:
let element=document.elementFromPoint(args.clientX,args.clientY);元素。dispatchEvent(事件)代码>现在,我们的脸事件确实击中了react dom树中的某些内容。我可以移动滑块,但不能更改选项卡。