您的位置:首页 > Web前端 > JQuery

用jQuery解决input中placeholder值在ie中无法支持的问题

2012-09-11 16:31 696 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>

<script type="text/javascript">

//第一种方法

$(document).ready(function(){

    var doc=document,inputs=doc.getElementsByTagName('input'),supportPlaceholder='placeholder'in doc.createElement('input'),placeholder=function(input){var text=input.getAttribute('placeholder'),defaultValue=input.defaultValue;

    if(defaultValue==''){

        input.value=text}

        input.onfocus=function(){

            if(input.value===text){this.value=''}};

            input.onblur=function(){if(input.value===''){this.value=text}}};

            if(!supportPlaceholder){

                for(var i=0,len=inputs.length;i<len;i++){var input=inputs[i],text=input.getAttribute('placeholder');

                if(input.type==='text'&&text){placeholder(input)}}}});

//第二种方法

$(function(){

if(!placeholderSupport()){   // 判断浏览器是否支持 placeholder

    $('[placeholder]').focus(function() {

        var input = $(this);

        if (input.val() == input.attr('placeholder')) {

            input.val('');

            input.removeClass('placeholder');

        }

    }).blur(function() {

        var input = $(this);

        if (input.val() == '' || input.val() == input.attr('placeholder')) {

            input.addClass('placeholder');

            input.val(input.attr('placeholder'));

        }

    }).blur();

};

})

function placeholderSupport() {

    return 'placeholder' in document.createElement('input');

}

</script>

</head>

<body>

<form>

  <label for="name">用户名:</label>

  <input type="text" placeholder="请输入用户名"/>

</form>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息