【问题标题】:Passing textarea values, line break and symbols into div将 textarea 值、换行符和符号传递到 div
【发布时间】:2012-01-25 13:43:04
【问题描述】:

我将文本区域中的值传递到 div 中:

$("#string").on("keyup keypress paste mouseup", function () { 
    var a = $('#string').val();
    $('#rdonly').html(a);
});

知道我想通过换行符,将& 替换为'and',这样当您按下回车/输入时,div 就会出现换行符。

这是我现在拥有的:http://jsfiddle.net/kC4GE/

如果你按下回车键,div 会继续写在同一行。

我认为这与replace()event 相关,但我想不通

【问题讨论】:

  • 顺便说一句,您还应该处理input 事件。
  • 这是一个测试。实际上,我正在处理“keyup change cut paste input click keypress mouseup input”。不过谢谢

标签: javascript jquery html replace textarea


【解决方案1】:

要捕获所有与符号和换行符,您需要在正则表达式上使用全局标志:

$("#string").on("keyup keydown input keypress paste mouseup", function () {
    var a = $('#string').val().replace(/\n/g,'<br />')
                              .replace(/&/g,'and');
    $('#rdonly').html(a);
});

演示:http://jsfiddle.net/kC4GE/5/

【讨论】:

    【解决方案2】:

    看到这个

    http://jsfiddle.net/kC4GE/8/

    基本上,使用javascript replace() 函数将所有换行符(\n)替换为&lt;br&gt;

    与 & 类似。

    【讨论】:

    • 你的演示只替换了\n的第一个实例
    • 它只是第一次替换它。尝试返回一些单词连续返回一些单词。这就是我说实话的地步
    • 很抱歉我没有进行全局检查。请查看更新的小提琴。
    • 还有一件事,这不会捕获与符号:在自己的行上、行首或行尾。
    • @DavidThomas 在这种情况下使用“忽略大小写”标志会有所不同吗?
    【解决方案3】:
    $("#string").on("keyup keypress paste mouseup", function () { 
        var a = $('#string').val();
        a = a.replace("\n","<br/>");
        a = a.replace("&","and");
        $('#rdonly').html(a);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 2014-06-29
      • 2013-04-16
      • 2013-04-02
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多