Mobile safari supporta un attributo su elementi di input denominato autocapitalize [documented here], che quando impostato su "off" interromperà l'iPhone inserendo il testo in ingresso in quel campo, utile per i campi url o email.Può autocapitalizzare essere disattivato con javascript in mobile safari?
<input type="text" class="email" autocapitalize="off" />
Ma questo attributo non è valido per HTML 5 (o un altro spec per quanto ne so) in modo da includerla nel codice HTML produrrà una pagina html non valido, quello che vorrei fare è essere in grado di aggiungere questo attributo a particolari campi onLoad con javascript con qualcosa di simile:
$(document).ready(function(){
jQuery('input.email, input.url').attr('autocapitalize', 'off');
});
che aggiunge l'attributo corretto in Firefox e Safari del desktop, ma non sembra fare nulla in Safari mobile, Tutte le idee perché?
È molto meglio specificarlo nell'HTML e avvertire un avviso innocuo rispetto a farlo in Javascript senza alcun beneficio effettivo. Hai sostituito qualcosa di semplice, ovvio e veloce, che funziona anche senza script, con qualcosa inutilmente complicato. –
@Glenn: non è esattamente un avvertimento innocuo. Tu (e chiunque altro mantenga il codice) devi ricordare che questo avviso di convalida specifico non ha importanza. Tipo di fastidio. –
@Paul: Lo scopo dei validatori è quello di assicurarsi di essere a conoscenza quando si utilizzano funzionalità non standard, quindi è possibile prendere una decisione istruita piuttosto che usarla inconsapevolmente. Non sono lì per impedirti di usarli. –