Shift + Enter»多行

时间:2015-03-21 02:58:10

标签: javascript jquery textarea shift enter

首先,英语不是我的母语,对不起,如果我有任何错误。

函数中有消息发送问题,我使用Jquery代码但我无法修复它。

当我按下Enter键时,消息到达接收者,这很好。 但是当我按下Shift键时,消息再次传到接收器, 我想在按下两个键时创建新行。

Jquery代码:



$(document).ready(function() {
	$('input#chat').bind('keydown', function(e) {
		if(e.keyCode==13) {
			// Store the message into var
			var message = $('input#chat').val();
			var id = $('#chat').attr('class');
			if(message) {
				// Remove chat errors if any
				$('.chat-error').remove();
				
				// Show the progress animation
				$('.message-loader').show();
				
				// Reset the chat input area			
				document.getElementById("chat").style.height = "25px";
				$('input#chat').val('');




2 个答案:

答案 0 :(得分:0)

你试过吗?

 if(e.shiftKey && e.keyCode==13){
     // Don't fill
 } else if(e.keyCode==13){
     e.preventDefault();
     // Store the message into var
        var message = $('input#chat').val();
        var id = $('#chat').attr('class');
        if(message) {
        ........................
 }

答案 1 :(得分:0)

在此,按下shift键时,布尔值会阻止代码运行。

var ShiftDown = false; //Is false when not being pressed, true when being pressed
$(document).ready(function() {
	$('input#chat').keydown(function(e) {
		if(e.which === 16) {
            //Shift key is pressed
            ShiftDown = true;
        }else if(e.which === 13){
            //Code will only run if Shift key is not pressed
            if(ShiftDown === false){
			    // Store the message into var
			    var message = $('input#chat').val();
			    var id = $('#chat').attr('class');
			    if(message) {
				    // Remove chat errors if any
				    $('.chat-error').remove();
				
				    // Show the progress animation
				    $('.message-loader').show();
				
				    // Reset the chat input area			
				    document.getElementById("chat").style.height = "25px";
                    $('input#chat').val('');
                }
            }
        }
    })
    $('input#chat').keyup(function(e) {
        if(e.which === 16){
            //Shift key is no longer pressed
            ShiftDown = false;
        }
    });
}

我刚刚改变了

$('input#chat').bind('keydown',function(e){}) 

$('input#chat').keydown(function(e){})