zoukankan      html  css  js  c++  java
  • 让 IE 支持HTML5 placeholder

      HTML5 新增的placeholder属性已经得到现代浏览器的支持,旨在提供简单的API可以为文本输入框设置 描述输入字段预期值的提示信息(hint)。

      这是W3C在标准化的过程中对用户体验的更多考虑。但是这一属性在IE却没有得到很好的支持,至少到IE9没有被支持,那么,我们在使用placeholder的时候可以为IE写一个扩展的JS脚本,让IE也支持placeholder。

      我们只需在页面loaded后运行一个函数,就能让IE支持placeholder。

      

     1 function setIEplaceHolder () {
     2     if ("placeholder" in document.createElement("input")) {
     3             return;
     4         }
     5         function placeHolder (elem) {
     6 
     7             var left = elem.offsetLeft, top = elem.offsetTop,
     8                 paddingLeft = parseInt(elem.currentStyle.paddingLeft),
     9                 paddingTop = parseInt(elem.currentStyle.paddingTop),
    10                 placeValue = elem.getAttribute("placeholder"),
    11                 span = document.createElement("span");
    12             
    13             span.innerHTML = placeValue;
    14             span.style.position = "absolute";
    15             span.style.left = left + paddingLeft + 2 + "px";
    16             span.style.top = top + paddingTop + 2 + "px";
    17             span.style.color = "#999";
    18             
    19             elem.parentNode.appendChild(span);
    20 
    21             span.onclick = function () {
    22                 elem.focus();
    23             }
    24 
    25             elem.attachEvent('onpropertychange', function () {
    26                 if (elem.value.length > 0) {
    27                     span.style.visibility = "hidden";
    28                 } else {
    29                     span.style.visibility = "visible";
    30                 }
    31             });
    32         }
    33         //input
    34         var inputs = document.getElementsByTagName("input"),
    35             len = inputs.length;
    36         for (var i=0; i<len; i++) {
    37             if (inputs[i].getAttribute("placeholder")) {
    38                 placeHolder(inputs[i]);
    39             }            
    40         }
    41         //textarea
    42         var textareas = document.getElementsByTagName("textarea"),
    43             len = textareas.length;
    44         for (var i=0; i<len; i++) {
    45             if (textareas[i].getAttribute("placeholder")) {
    46                 placeHolder(textareas[i]);
    47             }            
    48         }
    49 }
  • 相关阅读:
    《DSP using MATLAB》Problem 6.17
    一些老物件
    《DSP using MATLAB》Problem 6.16
    《DSP using MATLAB》Problem 6.15
    《DSP using MATLAB》Problem 6.14
    《DSP using MATLAB》Problem 6.13
    《DSP using MATLAB》Problem 6.12
    《DSP using MATLAB》Problem 6.11
    P1414 又是毕业季II
    Trie树
  • 原文地址:https://www.cnblogs.com/guozeng/p/3525753.html
Copyright © 2011-2022 走看看