gpt4 book ai didi

javascript - 如何通过事件对象从 originalEvent 传递数据?

转载 作者:行者123 更新时间:2023-11-29 22:58:20 32 4
gpt4 key购买 nike

我需要通过事件对象传递 originalEvent: MouseEvent { ... }。通常你可以这样做:

$('#name').trigger({
type: 'mousedown',
clientX: 115,
clientY: 20
);

很遗憾,以下内容不起作用:

$('#name').trigger({
type: 'mousedown',
clientX: 115,
clientY: 20,
originalEvent: MouseEvent {
isTrusted: true,
clientX: 115,
clientY: 20,
layerX: 115,
layerY: 20,
pageX: 115,
pageY: 20,
screenX: 115,
screenY: 20,
x: 115,
y: 20
},
pageX: 115,
pageY: 20
});

错误:

SyntaxError: Unexpected token '{'. Expected '}' to end an object literal.

最佳答案

这主要是语法问题。您需要调用 constructor of MouseEvent使用 new 关键字。您还需要提供第一个参数作为引发的 MouseEvent 的类型,然后第二个参数是包含事件属性的对象;我在下面的示例中使用了 click,但这很容易更改。

另请注意,isTrusted 是一个只读属性,您不能以编程方式设置它。

$('#name').on('mousedown', function(e) {
console.log(e.originalEvent);
});

$('#name').trigger({
type: 'mousedown',
clientX: 115,
clientY: 20,
originalEvent: new MouseEvent('click', {
clientX: 115,
clientY: 20,
layerX: 115,
layerY: 20,
pageX: 115,
pageY: 20,
screenX: 115,
screenY: 20,
x: 115,
y: 20
}),
pageX: 115,
pageY: 20
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="name">Name</button>

关于javascript - 如何通过事件对象从 originalEvent 传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56192976/

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