プレースホルダーのサポートをテストする必要があります。以下は、IE7、IE8、IE9だけでなく、すべての最新のブラウザーでうまく機能します。
$.support.placeholder = (function () {
var i = document.createElement("input");
return "placeholder" in i;
}());
in
それは動作しますが、JSLintは:の使用について不平を言います。
予期しない'in'。undefinedと比較するか、代わりにhasOwnPropertyメソッドを使用してください。
いいので、これにリファクタリングします:
$.support.placeholder = (function () {
var i = document.createElement("input");
return i.hasOwnProperty("placeholder");
}());
これで、エラーや警告なしでJSLintに合格しますが、IE7とIE8ではこの古い栗で壊れます。
オブジェクトはプロパティまたはメソッドをサポートしていません'hasOwnProperty'
JSLint、およびIE7とIE8を幸せにする方法はありますか?