2013-12-14 17 views
6

Voglio nascondere la tastiera su Focus(), ma quando $(".ui-input-text").focus(); aprirà automaticamente la tastiera.come nascondere la tastiera in jquery mobile a livello di programmazione su focus()

Voglio solo di nascondere in particolare schermata, ho test con document.activeElement.blur(); ma anche non si è concentrato() sull'ingresso.

+1

Questo sembra perverso. Vuoi mettere a fuoco un campo di input utente, ma disabilita il metodo di input? Perché? –

+3

ho la mia tastiera personalizzata sullo schermo – user1374

risposta

11

Nel presentare una forma, a volte, la tastiera IOS non possono chiudere automaticamente. Questo è piuttosto un problema di usabilità in quanto gli utenti non dovrebbero essere obbligati a chiudere manualmente la tastiera per casi d'uso in cui altrimenti non si aspetterebbero la necessità di farlo.

Una semplice soluzione per questo può essere implementata richiamando il metodo di sfocatura a document.activeElement, che permette in modo efficace a livello di codice di nascondere la tastiera:

// automatically close the keyboard on iOS 
document.activeElement.blur(); 

più su eventi delle applicazioni HTML5 e mobili ..

http://www.ericfeminella.com/blog/2012/12/27/ios-html5-input-element-tips/

1

Prova questo:

$('#yourElement').blur(); 

Sarà nascondere la tastiera virtuale.

+0

ho usato questo ma quando lo uso anche non focus() sull'input – user1374

1

Da here

var hideKeyboard = function() { 
    document.activeElement.blur(); 
    $("input").blur(); 
}; 

Modificato: un'altra opzione

$('.clr').after(' 
     //<input tyep="checkbox" 
     <input type="checkbox" 
       id="focusable" 
       style="height:0; 
       margin- left:-200px; 
       clear:both;" />'); 
$('#focusable').focus(); ` 
+0

ma il problema era che quando aggiungo questo codice perde anche lo stato attivo dall'ingresso – user1374

+0

@Gamex che puoi valutare mettere a fuoco di nuovo come mostrato in un'altra opzione. – SilentKiller

Problemi correlati