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 }
  • 相关阅读:
    百奥谷
    3月13日火箭VS老鹰
    百度 hi 下载地址(内测版,正式版)
    中兴u980
    2008年清明节放假通知
    cyp740703 一个女人的自白
    黄唇鱼
    3月9日火箭vs黄蜂
    3月3日火箭vs掘金
    百度hi邀请码
  • 原文地址:https://www.cnblogs.com/guozeng/p/3525753.html
Copyright © 2011-2022 走看看