javascript - 如何使用指定的键码触发类似 keyup 的事件

标签 javascript jquery html

我正在尝试在 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/

相关文章:

javascript - OpenLayers - 样式标签忽略加号

javascript - 从 http 响应中提取 json 数组

javascript - AG-Grid列下拉面板自定义消息

javascript - jQuery - 获取 Alt 文本并添加到警报

javascript - 位于下拉列表中的元素但无法单击它

javascript - 上传多个文件时可以跟踪单个文件的上传进度吗?

javascript - 如何在按下回车键时显示警报

javascript - Div 事件状态不粘 onclick

javascript - 如何检查名称属性作为数组的复选框列表中是否至少选中了一个复选框

javascript - 统计或资源 : which gets disabled first (more often than others)? 图片或 Javascript?