SweetAlert2 文本区域换行符确认模态



当我尝试在文本区域输入类型中换行时,模式已确认。

我也添加了这些,但没有任何反应:允许输入键:假,焦点确认:假,

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

在此处检查代码:

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>

使用以下控件。但是有一个错误,按回车键后,光标转到文本区域的末尾。

$('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链接: https://jsfiddle.net/rosfc6r2/

我已经更新到最新版本。它已经修复了!

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

$('#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;
});

希望这对您有所帮助。

最新更新