我需要测试占位符支持。下面的作品在所有现代浏览器大,以及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