我正在尝试在 jasmine 中进行测试,并且需要使用指定的键码(在我的情况下输入)触发 keyup 事件。当我尝试这个时
document.getElementById('title').addEventListener('keyup', function(e){
console.log(e.keyCode);
});
var e = $.Event("keyup", {keyCode: 64});
$('title').trigger(e);
事件没有被触发,尽管当我手动将焦点设置在它上面并按下它时它被触发
但是当我尝试这个
$('title').on('keyup', function(e){
e.currentTarget.style.color = 'red';
console.log(e.keyCode);
});
var e = $.Event("keyup", {keyCode: 64});
$('title').trigger(e);
它正在被触发。我不明白为什么一个不工作而另一个工作
最佳答案
如果你使用addEventListener不使用触发器,请使用dispatchEvent:
document.getElementById("q").dispatchEvent(new KeyboardEvent('keyup', { 'keyCode': 65 }));
关于javascript - 如何使用指定的键码触发类似 keyup 的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56222527/