我需要测试占位符支持。以下适用于所有现代浏览器以及 IE7、IE8、IE9:
$.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 开心吗?