在Firefox中单击输入时如何防止占位符隐藏?

时间:2012-07-13 13:54:07

标签: css html5 firefox placeholder

我需要一些有关Firefox浏览器问题的帮助吗?

我有一个带占位符的输入:

<input id="contact_lastname" type="text" value="" name="contact_lastname" size="45" placeholder="Type your last name" style="-moz-user-select: none; -moz-user-input: disabled; -moz-user-modify: read-only;" autocomplete="off">

仅在Firefox中,当我点击该输入框时,占位符将消失,然后才会启动不可选择的部分。是否有某种方法可以禁用每次单击时实际上使占位符隐藏的html5事件不可选择的输入?

我已经尝试过这些CSS值:

-moz-user-input: disabled
-moz-user-modify: read-only
-moz-user-select: none
user-select: none

我错过了吗?

2 个答案:

答案 0 :(得分:1)

在输入栏位上:

disabled="disabled"

答案 1 :(得分:0)

问题不在于占位符正在消失,而是在点击时没有回来的事实。我已将其改为实际工作方式:

<script type="text/javascript">
$.fn.disableSelection = function () {
        return this.each(function () {
            if ( $.browser.mozilla ) // Firefox
            {
                $(this).attr('autocomplete', 'off');
                $(this).keydown(function() { return false; });
                $(this).css('MozUserModify', 'read-only');
            }
            else if ( $.browser.webkit ) // Chrome
            {
                $(this).attr('autocomplete', 'off');
                $(this).css('webkitUserModify', 'read');
                $(this).keydown(function() { return false; });
            }
            else if ( $.browser.msie ) // IE
            {
                $(this).keydown(function() { return false; });
            }
            else // Opera, etc.
            {
                $(this).mousedown(function() { return false; });
            }
        });
    };
</script>

这实际上会阻止用户输入数据(这是原始问题集),然后在触发的keydown事件上返回false。