2015-04-14 2 views
0

Когда нажата кнопка отправки в форме, мне нужно смоделировать, что нажата кнопка «Ввод». поэтому: нажатие на форму отправки равно нажатию Enter на клавиатуре. Потому что я хочу, чтобы иметь один и тот же метод, как ...SImulate «Ввести нажатие» при нажатии кнопки отправки

Вот что у меня есть, но до сих пор не работает оленья кожа ..

$(document).on('click', '#send', function(){ 
$("#chatMessageTextarea").focus(); 
var e = jQuery.Event("keypress"); 
e.which = 13; 
e.keyCode = 13; 

});

+0

Вам это не нужно. Вы можете просто использовать '$ ('form'). Submit();' – Satpal

+0

как вы это понимаете? – JCoding

+0

Что вы в конечном итоге пытаетесь достичь здесь? – PavKR

ответ

0

попробуйте что-то подобное, не проверял его, надеюсь, что это поможет!

function keyUpFunc(e) { 
var keyCode_Enter = 13; 
    if (e.keyCode === keyCode_Enter) { 
     e.preventDefault(); 
     $('#send').trigger("click");      
    } 
}   

$(document).keyup(keyUpFunc); 

$(document).on('click', '#send', function(){ 
    // Click Event handler for send 
}); 
+0

вы можете установить keyupfunc для перкулярного поля, а не вместо документа, если это то, что вам нужно. – Kalish

0

Я не уверен, чего вы пытаетесь достичь здесь. Но если вы хотите, чтобы я подумал, что у этой ссылки есть ответ, чтобы имитировать нажатие клавиши jQuery.

Definitive way to trigger keypress events with jQuery

скопированный код из ссылки:

var e = jQuery.Event("keydown"); 
e.which = 13; // # Some key code value 
$("input").trigger(e); 
0

Попробуйте это:

$(document).on('click', '#send', function(){ 
    $("#chatMessageTextarea").trigger({ 
     type: "keypress", 
     which: 13, 
     keyCode: 13}); 
}); 

надеюсь, что это помогает!

Смежные вопросы