如何在IE8中支持占位符属性?

时间:2014-04-04 03:57:27

标签: php html css

我有一个小问题。 IE 8中不支持输入框的占位符属性。

有没有一种方法可以为此添加支持?

2 个答案:

答案 0 :(得分:0)

您可以随时使用其他插件,例如

任何一个都可行:)

我建议第一个。它对我有用!

最后2个不需要任何JQuery!

可能重复 - > How to support placeholder attribute in IE8 and 9

答案 1 :(得分:0)

好的,这里有一些非常快速,肮脏和未经测试的东西(字面上输入了我的手机),但这可能是你要去的路线。我们的想法是将span添加到包含文本输入的元素,并通过CSS绝对将其“放在”文本输入上。您可以使用占位符和数据占位符将占位符文本放入输入中。您甚至可能只使用占位符。

P.S。 jQuery不是强制性的。

// include jQuery somewhere 

function getPlaceholder(obj, parent=false) {
    var ph = obj.data('placeholder');
    if ( ph !== undefined && ph !== false) {
        if (!parent) {
            parent = obj.parent();
        }

    if ( !parent.find(".ph").length ) {
        parent.append('<span class="ph">'+ph+'</span>');
    }
    }
}

// on page load
$("input[type=text]").each(function() {
        getPlaceholder($(this));
});

$(document).on('change', 'input[type=text]', function() {
    var curVal = $(this).val();
    var phtext = $(this).parent().find(".ph");

    if (phtext.length) {
        if ( curVal === "" ) {
            phtext.show();
        }
        else {
            phtext.hide();
        }
    }
});