dispatchEvent'mouseover'无效

ges*_*nha 3 javascript events

我有以下代码http://jsfiddle.net/yc7sj3pt/2/

document.getElementById('obj_one').addEventListener('mouseover', function(){
    var e = document.createEvent('HTMLEvents');
    e.initEvent('mouseover', true, false);

    document.getElementById('obj_two').dispatchEvent(e);
    console.log('hover');
}, false);
Run Code Online (Sandbox Code Playgroud)

#obj_two当我mouseover打开时#obj_one,我正试图做出反应悬停(因此变为红色),但它无法正常工作.我究竟做错了什么?

Jam*_*ley 5

根据这个答案,你不能:

由用户代理生成的事件,或者作为用户交互的结果,或者作为DOM更改的直接结果,由用户代理信任的事件具有通过DocumentEvent.createEvent脚本生成的事件所不具有的权限("Event")方法,使用Event.initEvent()方法修改,或通过EventTarget.dispatchEvent()方法调度.受信任事件的isTrusted属性值为true,而不受信任事件的isTrusted属性值为false.

大多数不受信任的事件不应触发默认操作,但click或DOMActivate事件除外.

相反,推荐的方法是添加和删除一个关于mouseovermouseout事件的类,我已经在这个jsfiddle中完成了.