strings - javascript template教學




檢查佔位符是否受支持的簡單方法? (6)

http://html5tutorial.info/html5-placeholder.php有代碼可以做到。

如果你已經在使用jQuery,那麼你並不需要這樣做。 有可用的佔位符插件( http://plugins.jquery.com/plugin-tags/placeholder )盡可能使用HTML5屬性,如果沒有則使用Javascript來模擬它。

如果用戶的瀏覽器支持,我想在我的代碼中使用HTML5 "placeholder"屬性,否則只需在表單頂部打印字段名稱。 但我只想檢查佔位符是否受支持,而不是用戶正在使用的瀏覽器版本/名稱。

所以理想情況下我會想做類似的事情

    <body>

     <script>

           if (placeholderIsNotSupported) {
             <b>Username</b>;
           } 
      </script>
    <input type = "text" placeholder ="Username">
</body>

除了我不確定javascript位。 感謝幫助!


另一種方法是不在內存中創建必須進行GC的輸入元素:

if ('placeholder' in HTMLInputElement.prototype) {
    ...
}

如果您使用的是Modernizr,請快速關注以下內容:

if(!Modernizr.input.placeholder){
  ...
}

我正在嘗試做同樣的事情......我寫這篇文章

if(!('placeholder'in document.createElement("input"))){
   //... document.getElementById("element"). <-- rest of the code
}}

有了這個你應該有一個id來識別帶佔位符的元素...我不知道這是否也有助於你在不支持佔位符時識別元素。


派對有點晚了,但是如果你使用的是jQuery或AngularJS,你可以在不使用任何插件的情況下簡化上面建議的方法。

jQuery的

typeof $('<input>')[0].placeholder == 'string'

AngularJS

typeof angular.element('<input>')[0].placeholder == 'string'

檢查非常相似,因為AngularJS在jQlite下運行jQlite


要不就:

if (document.createElement("input").placeholder == undefined) {
    // Placeholder is not supported
}




placeholder