我需要測試佔位符支持。下面的作品在所有現代瀏覽器大,以及IE7,IE8,IE9:HTML5佔位符功能檢測問題
$.support.placeholder = (function() {
var i = document.createElement("input");
return "placeholder" in i;
}());
它的工作原理,但JSLint的抱怨使用in
:
意外 '中'。與undefined比較,或者使用hasOwnProperty 方法。
很好,所以我要把它重構到這一點:
$.support.placeholder = (function() {
var i = document.createElement("input");
return i.hasOwnProperty("placeholder");
}());
現在這種通過JSLint的沒有任何錯誤或警告,但它在IE7和IE8打破這個老生常談:
對象不支持屬性或方法「hasOwnProperty」
任何想法如何使JSLint的快樂,因爲我們如IE7和IE8?
製作一個像jslint開心的工具並不一定意味着只要你知道自己在做什麼就可以讓你的代碼更好。如果你的老闆想要它,給他們一些很好的例子,證明他們愚蠢。 – ThiefMaster
我不爲什麼jslint建議不要'in'。它已經有一段時間了,所以應該有全面的支持,而且非常直觀。對於佔位符支持,這是堅實的:https://github.com/mathiasbynens/jquery-placeholder – ryanve