Devo testare il supporto del segnaposto. Le seguenti opere grandi in tutti i browser moderni, così come IE7, IE8, IE9:Problemi di rilevamento delle funzioni segnaposto HTML5
$.support.placeholder = (function() {
var i = document.createElement("input");
return "placeholder" in i;
}());
Funziona, ma JSLint lamenta l'uso di in
:
imprevisto 'in'. Confrontare con undefined o utilizzare invece il metodo hasOwnProperty .
fine, quindi mi refactoring a questo:
$.support.placeholder = (function() {
var i = document.createElement("input");
return i.hasOwnProperty("placeholder");
}());
Ora, questo passa JSLint senza errori o avvisi, ma si rompe in IE7 e IE8 con questo vecchio castagno:
oggetto non supporta la proprietà o il metodo 'hasOwnProperty'
Qualsiasi idea di come fare JSLint felice, come noi ll come IE7 e IE8?
Fare uno strumento come jslint felice non significa necessariamente rendere il codice migliore finché sai cosa stai facendo. Se i tuoi capi lo vogliono, dai loro dei buoni esempi dimostrandoli stupidi. – ThiefMaster
Non ho motivo per cui jslint consiglia contro 'in'. È in giro da un po ', quindi dovrebbe avere pieno supporto ed è piuttosto intuitivo. Per il supporto segnaposto, questo è solido: https://github.com/mathiasbynens/jquery-placeholder – ryanve