【问题标题】:placeholder with CRLF don't work in Firefox带有 CRLF 的占位符在 Firefox 中不起作用
【发布时间】:2015-03-20 22:44:06
【问题描述】:

(示例和内部代码)我有很大的文本区域,其中包含带有 CRLF 的占位符。我用 jquery 实现了它(因为 html 5 的规范在占位符中拒绝了 CRLF)。但它在 Firefox 中不起作用。有什么建议可以解决这个问题吗?

var placeholder = "1111 \n 2222 example.";
 $('textarea.span12').attr('placeholder', placeholder);
        $('textarea.span12').focus(function () {
            if ($(this).val() === placeholder) {
                $(this).attr('placeholder', '');
            }
        });

        $('textarea.span12').blur(function () {
            if ($(this).val() === '') {
                $(this).attr('placeholder', placeholder);
            }
        });  

工作示例: http://jsfiddle.net/q8kuoa25/

【问题讨论】:

  • 在所有浏览器都采用占位符之前,有一个常见的技巧是将其他元素放在表单控件后面(或在它上面)。应该能够在网络搜索中找到一些代码。也可能是一个 jQuery 插件或 2 个。仍在使用的浏览器不支持placeholder

标签: javascript jquery firefox placeholder


【解决方案1】:

占位符属性

<input><textarea> 元素上的占位符属性向用户提示可以在字段中输入的内容。 占位符文本不得包含回车符或换行符。

来源:https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms_in_HTML

所以不幸的是,我认为这不能在本地完成。但是,您可以将占位符文本放在 textarea 的值中。您可以删除焦点上的文本,使其起到占位符的作用。

示例:http://jsfiddle.net/pdXRx/535/

【讨论】:

  • 我知道,但是这个技巧可以解决问题。它适用于除 FF 之外的所有实际浏览器
  • @AntonKozlovsky 请看我的例子。
  • 但它有一个小错误(输入文本占位符后变黑(但我会自己修复)
猜你喜欢
  • 1970-01-01
  • 2014-06-17
  • 2021-02-08
  • 2012-04-07
  • 2012-09-22
  • 1970-01-01
  • 2018-02-19
  • 2013-10-19
  • 2017-04-23
相关资源
最近更新 更多