使用HTML按钮按下键盘上的Escape键

3

HTML按钮,当按下时模拟按下ESC键。

因此,单击该按钮将具有与用户在键盘上按下ESC键相同的效果。

如果无论如何都不可能实现,请告诉我。

任何方法都可以。

编辑:我不想要按下ESC键来触发某些操作,我想要反过来,即触发 ESC 键。


你有一个监听 ESC 键的事件,想要触发它吗?就是这样吗? - acdcjunior
亲爱的,你应该仔细阅读这些答案。 https://dev59.com/0GDVa4cB1Zd3GeqPb0mj - Muhammad Irfan
按下“Esc”键应该做什么?您无法模拟由浏览器或操作系统处理的按键事件,只能模拟由JavaScript本身(或本地事件)处理的按键事件。 - adeneo
@Muhammad,我不理解那个链接中的代码。 - Friedpanseller
你有检查下面的任何小提琴吗? - Kiranramchandran
我认为你已经在答案中得到了解决方案 :) - Muhammad Irfan
3个回答

4

请尝试以下代码

JS

$('body').keydown(function(e){
    if (e.which==27){
        alert("hh");
    }

});

$('#trigger').click(function(){
    var e=$.Event('keydown');
    e.which=27;
    $('body').trigger(e);
});

HTML

<input type="button" id="trigger" value="trigger button" />

DEMO HERE


0
可以通过创建一个事件实例并在窗口上分派它来触发键盘事件。
// following for keyboard key down event for "a"
const event = new KeyboardEvent('keydown', {code: 'KeyA', key: 'a'})
window.dispatchEvent(event)

需要注意的是,当被监听时,分派的事件将不会是一个受信任的事件。

0
使用JQuery,您可以创建按键事件并将该事件与按钮单击绑定。例如:
<input type="button" id="esc" value="Esc like button">


<script>
$('body').keydown(function(e) {
    if (e.keyCode == 27) {
        // put your code here if any (that will run after Esc pressed).
        alert('Esc Pressed');
    }    
});

var e = $.Event("keydown", {
    keyCode: 27
});

$('#esc').click(function() {
    $("body").trigger(e);
});
</script>

演示 Fiddle


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接