簡體   English   中英

使用JavaScript將字段設為.focus()時顯示Android的軟鍵盤

[英]Showing Android's soft keyboard when a field is .focus()'d using javascript

在網頁中,我有一個搜索字段。 我添加了一個“清除”按鈕,以便用戶可以清除搜索字段並重新開始。 為方便起見,我將焦點放在搜索字段的文本框中,並且光標確實出現在框中。 但是,使用默認瀏覽器的android設備上似乎沒有顯示軟鍵盤。 在iOS和Opera Mobile中,它的工作符合我的預期。

我是否可以調用其他方法,使鍵盤在Android瀏覽器上顯示,以便用戶可以立即開始輸入?

function clear_search() {
    if($('#searchinput').val()) {
        $('#searchinput').val('');
    }
    $('#searchinput').focus();
}

這個問題類似於如何通過javascript或jquery將輸入字段集中在Android瀏覽器上

無論如何,由於您已經可以使用click事件,因此應該可以解決此問題:

$(document).ready(function() {
    $('#field').click(function(e){ $(this).focus(); });

    $('#button').click(function(e) {
        $('#field').trigger('click');
    });
})     

當然,您確實需要單擊事件來觸發此事件。 只是集中精力而沒有任何事件似乎沒有用。 以上內容適用於Android 4的標准瀏覽器,並顯示了軟鍵盤。

click()不夠的 您需要focus()然后click() 如果您的腳本是由包含元素上的onclick()觸發的,請當心無限循環。 以下腳本在適用於Android 58的Chrome瀏覽器和Safari Mobile 602.1上對我有效。

var target = document.getElementsByTagName("input")[0];

if (event.target != target) {
    target.focus();
    target.click();
}

我不是100%肯定,但我認為無法通過javascript完成(至少直到android 2.2)。 如果您正在使用phonegap,則可以在以下位置使用它: https : //github.com/phonegap/phonegap/wiki/How-to-show-and-hide-soft-keyboard-in-Android

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM