gpt4 book ai didi

javascript - EmberJS 中的全局 keyDown/keyPress 事件无需设置焦点

转载 作者:行者123 更新时间:2023-12-04 07:42:33 25 4
gpt4 key购买 nike

我曾经有一个 jQuery 应用程序,一旦文档准备就绪,它就会有一个 keydown 事件。基本上,只要用户按下一个键,它就会匹配键码并执行某些操作。现在我将这个应用程序移植到 Ember 上,生活变得困难有两个原因:

  1. 唯一可以注册 keyDown 事件的时间是包含元素/ View 在其上获得焦点时。对于非输入字段,唯一的方法是设置 tabindex 值,为此,我这样做:

    didInsertElement:函数(){this.$().attr("tabindex",0);这个.$().focus();//将焦点置于 View 以确保触发 keyDown 事件 :)},

     keyDown:function(event){
    var keycode = event.which || event.keycode;
    switch(keycode){
    //perform various events
    }
    }
  2. 所以上面的工作就像一个魅力,除了,它在应用程序上创建了一个丑陋的突出显示焦点,并且每当应用程序失去焦点时,keyDown 事件都不会触发。我需要明确地点击 ApplicationView 区域(不是整个主体)。

我真正想要的是触发一个简单的按键事件,就像我在 jQuery 中使用它时一样。有没有人知道发生了什么事?

最佳答案

Ember 特别地只捕捉在 ember 应用程序范围内发生的事件,所以如果你想捕捉应用程序外部的事件(因为你的整个页面不是 ember 应用程序),而不必关注 ember您必须在 ember 范围之外创建这些事件。

关于javascript - EmberJS 中的全局 keyDown/keyPress 事件无需设置焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20336308/

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