ionic 2 - 单击发送按钮时保持键盘打开

Posted

技术标签:

【中文标题】ionic 2 - 单击发送按钮时保持键盘打开【英文标题】:ionic 2 - keep keyboard open when clicking send button 【发布时间】:2017-10-01 19:24:39 【问题描述】:

当输入/文本区域成为焦点时,ionic 中的键盘打开(?)。

但是当我点击发送按钮时,键盘消失了。

即使我调用键盘插件的keyboard.show()方法,它也会先消失,然后再出现。

有解决办法吗?

<textarea id="chat-text-area></textarea>

sendMessage() 
    if(window.cordova)
        this.keyboard.show()
    
    if(this.form.valid)
        this.service.post(this.form.value).subscribe(res=>
            document.getElementById('chat-text-area').focus()
        )
    

【问题讨论】:

【参考方案1】:

将此添加到您的发送按钮:

(mousedown)="$event.preventDefault(); sendMessage($event)"

希望对你有帮助:)

【讨论】:

谢谢!从 Ionic 5/6 开始,这仍然有效。唯一要记住的是,如果页面显示ion-loading,例如焦点仍将丢失(在按钮中使用微调器图标将为您提供类似的用户体验,并且键盘将保持可见)。跨度> 【参考方案2】:

你能在隐藏事件中注入你的逻辑吗?

window.addEventListener('native.keyboardhide', keyboardHideHandler);

function keyboardHideHandler(e)
    if (something) // put your condition here
        e.preventDefault();

【讨论】:

以上是关于ionic 2 - 单击发送按钮时保持键盘打开的主要内容,如果未能解决你的问题,请参考以下文章

在 Ionic 2 中按下硬件按钮时 Select2 不隐藏

Android:为EditText打开键盘时处理后退按钮单击

在 Ionic 中单击通知时如何打开详细信息页面

Ionic2 Ion-Input onSubmit 单击表单内的顶部按钮

使用 Ext JS 7.2 在按钮单击时触发 Android 键盘

在我的应用中单击按钮时打开手机设置