event.originalEvent的Javascript等价物?

event.originalEvent的Javascript等价物?,javascript,jquery,events,Javascript,Jquery,Events,有人能给我推荐JQuery的event.originalEvent属性的Javascript跨浏览器(应该支持IE 11和Safari、Firefox、Chrome的新版本)吗?我试着在我的JS代码中直接使用event.originalEvent,它在Chrome浏览器上运行得非常好,但在Firefox上却不行 我需要这个属性来区分对元素的实际鼠标单击和编程单击,我没有使用JQuery的自由 EDIT:答案似乎在起作用。谢谢大家的帮助。这只是本机的活动。检查其是否受信任属性: 事件接口的isTr

有人能给我推荐JQuery的event.originalEvent属性的Javascript跨浏览器(应该支持IE 11和Safari、Firefox、Chrome的新版本)吗?我试着在我的JS代码中直接使用event.originalEvent,它在Chrome浏览器上运行得非常好,但在Firefox上却不行

我需要这个属性来区分对元素的实际鼠标单击和编程单击,我没有使用JQuery的自由


EDIT:答案似乎在起作用。谢谢大家的帮助。

这只是本机的
活动。检查其
是否受信任
属性:

事件接口的isTrusted只读属性是一个布尔值,当事件由用户操作生成时为true,当事件由脚本创建或修改或通过dispatchEvent调度时为false

constdiv=document.querySelector('div');
div.addEventListener('单击',(e)=>{
如果(例如)控制台日志(手动点击);
else console.log('script click');
});
setInterval(div.click.bind(div),2000)

单击
这只是本机的
事件
。检查其
是否受信任
属性:

事件接口的isTrusted只读属性是一个布尔值,当事件由用户操作生成时为true,当事件由脚本创建或修改或通过dispatchEvent调度时为false

constdiv=document.querySelector('div');
div.addEventListener('单击',(e)=>{
如果(例如)控制台日志(手动点击);
else console.log('script click');
});
setInterval(div.click.bind(div),2000)

在jQuery事件中单击
event.originalEvent
相当于
事件对象
,它在javascript中传递给事件侦听器

{
让jQEvent,vanillaEvent;
$(“输入”).bind(“单击”,e=>console.log(jQEvent=e.originalEvent));
document.querySelector(“输入”).addEventListener(“单击”,e=>console.log(vanillaEvent=e));
document.querySelector(“输入”).addEventListener(“单击”,e=>console.log(vanillaEvent==jQEvent));
document.querySelector(“input”).addEventListener(“单击”,e=>console.log(`triggeredwithmanual:${e.isTrusted}`));
}
设置超时(()=>{
document.querySelector(“输入”).dispatchEvent((()=>{
让事件=新事件(“单击”);
event.screenX=1;
event.screenY=1;
返回事件;
})() );
}, 2000 );

在jQuery事件中,
event.originalEvent
相当于
事件对象
,它在javascript中传递给事件侦听器

{
让jQEvent,vanillaEvent;
$(“输入”).bind(“单击”,e=>console.log(jQEvent=e.originalEvent));
document.querySelector(“输入”).addEventListener(“单击”,e=>console.log(vanillaEvent=e));
document.querySelector(“输入”).addEventListener(“单击”,e=>console.log(vanillaEvent==jQEvent));
document.querySelector(“input”).addEventListener(“单击”,e=>console.log(`triggeredwithmanual:${e.isTrusted}`));
}
设置超时(()=>{
document.querySelector(“输入”).dispatchEvent((()=>{
让事件=新事件(“单击”);
event.screenX=1;
event.screenY=1;
返回事件;
})() );
}, 2000 );


有帮助吗?(除了IE11之外的所有东西)是的。但我希望它能跨所有浏览器工作。event.isTrusted在Safari上也不起作用。有帮助吗?(除了IE11之外的所有东西)是的。但我希望它能跨所有浏览器工作。event.isTrusted在Safari上也不起作用。谢谢!但是它在Safari中不受支持。谢谢!但是Safari不支持它。如果是这样,那么直接检查“e”对象应该说明单击是编程的还是手动的。但是e总是以任何一种方式填充。@RoshanPShajan使用
来检查它。如果
.isTrusted
为真,则该事件是通过手动单击触发的。@RoshanPShajan不要使用该答案。它们(属性)是可变异的。我添加了一个片段来修改它们。如果是这样的话,那么直接检查“e”对象应该说明单击是编程的还是手动的。但是e总是以任何一种方式填充。@RoshanPShajan使用
来检查它。如果
.isTrusted
为真,则该事件是通过手动单击触发的。@RoshanPShajan不要使用该答案。它们(属性)是可变异的。我添加了一个片段来改变它们。