带触发器的Textarea - 如何向Tab-through添加触发器

时间:2018-05-17 12:31:02

标签: extjs

如果没有鼠标,以下表格几乎完全可以编辑:

https://fiddle.sencha.com/#view/editor&fiddle/2gsi

唯一无法访问的是textareafield的触发器。

由于textareafield是可输入的,我想将textareafield的触发器设为tabbable。 Tab是我认为我唯一可以使用而不妨碍一般输入能力。

我该怎么做?我在trigger documentation

中找不到任何内容

2 个答案:

答案 0 :(得分:3)

不是一个完整的答案,但是太长时间无法发表评论,这可能对您有所帮助。以下是一种可能的解决方案:https://fiddle.sencha.com/#view/editor&fiddle/2gt8

我通过将顶级元素设为renderTpl(默认情况下为button)来覆盖触发器的div配置,并为其添加了一些样式。< / p>

您可以使用tabindex设置div标签,但问题是当您按下重点触发器上的Enter时,它将不会执行处理程序。

使用当前的方法,唯一的问题是textarea的重点样式搞砸了。当您在关注触发器后按下按钮时,textarea仍然会保持焦点等级。

答案 1 :(得分:2)

您可以为它设置键盘快捷键,如下所示:

            xtype: 'textareafield',
            fieldLabel: 'Name',
            enableKeyEvents: true, //important
            listeners: {
                keydown: function (a,e){
                    if ((e.altKey)&&(e.keyCode==73)){ //in that case Alt+i , but you could use any other combination                            
                        a.getTriggers().book.el.dom.click();
                    }
                }  
            }

希望有所帮助