【问题标题】:Press a button to input text? [duplicate]按一个按钮输入文字? [复制]
【发布时间】:2018-02-08 05:13:08
【问题描述】:

我正在开发一个消息系统,您可以在其中键入诸如“Hello”之类的消息,它会将其 POST 到服务器并且用户将能够看到它。

有没有一种方法可以让用户按下 shift+enter 来创建一个新段落?

邮件当前的外观:

你好,约翰,你好吗?

消息的外观(在逗号后按 shift+enter):

你好约翰,

你好吗?


附言

我很抱歉没有在这里创造某种小提琴,但我真的想不出要放什么或如何演示它。

非常感谢!

【问题讨论】:

  • 对此不太了解,但您需要使用 jquery 创建快捷方式 ...
  • @Just_Do_It 这就是我的想法,我需要以某种方式绑定 shift+enter 来创建一个新行之类的......但我不知道该怎么做?

标签: javascript jquery html css


【解决方案1】:

基于这个answer 你可以使用这个

  
$('#paragraph').keyup(function (event) {
    if (event.keyCode == 13) {
        var content = this.value;        
        if(event.shiftKey){
            this.value = content.substring(0, this.value.length) + "\n";
            event.stopPropagation();
        }
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="paragraph" rows="4" cols="30"></textarea>

【讨论】:

  • 我还是想输入提交表格。 (所以 SHIFT+Enter 创建一个新行,然后 enter 将提交表单)谢谢。
【解决方案2】:

HTML

<textarea rows="4" cols="50"></textarea>

JS

$("textarea").keydown(function(e){
    if (e.keyCode == 13 && !e.shiftKey)
    {
        e.preventDefault();
    }
});

TRY HERE

【讨论】:

  • 我还是想输入提交表格。 (所以 SHIFT+Enter 创建一个新行,然后 enter 将提交表单)谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 2011-05-28
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
相关资源
最近更新 更多