sweetalert2 textarea 换行确认模态

sweetalert2 textarea newline confirm the modal

当我尝试在 textarea 输入类型中换行时,模式确认。

我也添加了这些,但没有任何反应: allowEnterKey:假, focusConfirm: false,

有人对我的问题有建议吗?

检查这里的代码:

https://jsfiddle.net/piman/f28tn8hq/24/

$('.table button').on('click', function () {
 var replycontent = jQuery("#replyid-7 #reply-content").text();
 swal({
        title: 'my Title',
    type: 'question',
    input: 'textarea',
        inputValue: replycontent,
    showCancelButton: true,
    confirmButtonColor: '#3085d6',
    cancelButtonColor: '#d33',
    confirmButtonText: 'Save',
    cancelButtonText: 'Cancel',
    allowEnterKey: false,
    focusConfirm: false,
    inputValidator: function (value) {
        return new Promise(function (resolve, reject) {
            if (value) {
                resolve()
            } else {
                reject('Error!')
            }
        })
    }
      }
    ).catch(swal.noop)
});
<link href="https://limonte.github.io/sweetalert2/assets/example.css" rel="stylesheet"/>
<script src="https://limonte.github.io/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <div class="table-responsive">
    <table class="table">
        <tbody>
        <tr id="replyid-7">
                <td>

<p id="reply-content">Any Text here <br>
New line Test</p>
                    <hr>
                    <div class="author-info">by Admin</div>
                
                    <button>EDIT Content</button>
                </td>
           </tr>
        </tbody>
    </table>
</div>

尝试使用以下函数解决此问题。

$('#id').on('keyup keypress', function(e) {
  var keyCode = e.keyCode || e.which;
  if (keyCode === 13) { // enter key
    e.preventDefault();
    return false;
  }
})

在现代浏览器上,您还可以使用 'e.which':

$('#id').on('keypress', function(e) {
    return e.which !== 13;
});

希望这对您有所帮助。

使用以下控件。但是有个BUG,回车后,光标会跳到textarea的末尾。

$('body').on('keydown','textarea', function(e) {
    if(e.which === 13){
        e.preventDefault();
      var value = e.target.value;
            var start = e.target.selectionStart;
            var end = e.target.selectionEnd;

      if(start === end){
        value = value.substring(0, start) + "\n" + value.substring(start, value.length);
      }else{
        value = value.substring(0, start) + "\n" + value.substring(end, value.length);
      }
      //TODO - set curser position to (start + 1)
      e.target.value = value;
    }

    return e.which !== 13;
});

这是 jsfiddle link : https://jsfiddle.net/rosfc6r2/

我已经更新到上一版本。它已修复!