Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Вызов функции по нажатию ENTER (https://javascript.ru/forum/jquery/19132-vyzov-funkcii-po-nazhatiyu-enter.html)

Ticksy 26.07.2011 23:30

Вызов функции по нажатию ENTER
 
Имеется чат с полем <input type="text" id="chat_input">. Как мне сделать, чтобы вызывалась функция отправки сообщение по ENTER или CTRL+ENTER?

Пробовал писать такой код, но он не работает:
$('#chat_input').bind('keyup', 'return', function() { SendMessage() })


P.S. Формы там нет. Но есть клавиша самбита, с onclick="SendMessage()".

Octane 26.07.2011 23:33

Поместите input в форму и используйте событие submit

Black_Prince 27.07.2011 12:01

если уж совсем заморачиваться то:
$('#chat_input').keypress(function(event){
        var keyCode = event.keyCode ? event.keyCode :
        event.charCode ? event.charCode :
        event.which ? event.which : void 0;

        //if pressed "Enter" key
        if(keyCode == 13)
        {
                //something to do
        }
});


Ctrl+Enter можно получить через alert(keyCode);

melky 27.07.2011 13:59

пример на mootools

как вам? :)

document.body.addEvent( 'keyup', function(e){ 
    
    var enter = e.key == 'enter';
    var ctrl = e.control;
    
    // ну вот и всё :)
    alert( ["enter => " + enter, "", "ctrl => "+ctrl ].join("\n") )
} )


Часовой пояс GMT +3, время: 19:44.