Keyup 事件给出具有未定义属性的事件

问题描述 投票:0回答:1

我在文本区域上有一个“keyup”事件。当我尝试

console.log(ev)
时,我看到了一个正确的事件,但是当我尝试使用事件的属性时,除了
isTrusted
属性(以及其他类似
keycode
产量
undefined
)之外,我什么也看不到。

el.addEventListener('keyup', function(ev) {
    console.log(ev);
})

结果:

keyup { target: textarea#foo, key: "Enter", charCode: 0, keyCode: 13 }  

鉴于:

el.addEventListener('keyup', function(ev) {
    console.log(JSON.stringify(ev));
})

产量

{"isTrusted":true}

当调用侦听器时,该事件显然没有正确填充,并且仅在稍后填充(并且当对象记录到控制台时,它显示正确的更新版本)。我在控制台中看到一些对象在事后更新,但我从未在事件处理程序中看到未填充的事件。

javascript dom
1个回答
0
投票

并不是事件未完全填充,而是

JSON.stringify
仅包含自己的属性,而不包含继承的属性。其中一些属性继承自
Event

© www.soinside.com 2019 - 2024. All rights reserved.