код странно отрабатывает комбинацию клавиш
в общем есть такой код
$(document).keypress(function (e) {
if (e.which == 13 && e.ctrlKey ) send_message();
if (e.which == 13 ) send_message();
});
функция send_message(); выглядит так
function send_message(){
if ($('#message').val() == '') {
$.gritter.add({
title: 'Ошибочка вышла!',
image: 'images/i/edit-64.png',
//sticky: true,
time: '3000',
text: 'Сообщение то не ввели.'
});
}
else {
дальнейший код....
}
то есть идет проверка на ввод сообщения, и в общем если запускать так
$('#send_message_button').click(function(){
send_message();
});
то все работает как надо или если просто нажать ентер то тоже отрабатывает как надо, а вот если комбинацией например ктрл+ентер или шифт + ентер, то и код if`a отрабатывается и else, если же не ввести сообщение то есть действительно сделать $('#message').val() == '' тогда два раза отработает if и раз else на всякий случай оговорюсь, использую jquery P.S. я уже не че не понимаю надеюсь на вашу помощь и надеюсь вы поняли что за белиберду я тут написал |
Не очень понял вопрос, но здесь:
$(document).keypress(function (e) {
if (e.which == 13 && e.ctrlKey ) send_message();
if (e.which == 13 ) send_message();
});
В случае если нажато ctrl+enter функция send_message() запускается дважды. |
наверное в этом и ошибка, а почему дважды и как поправить?
|
$(document).keypress(function (e) {
if (e.which == 13 && e.ctrlKey ) send_message();
else if (e.which == 13 ) send_message();
});
или
$(document).keypress(function (e) {
if ((e.which == 13 && e.ctrlKey) || e.which == 13) send_message();
});
|
спасибо!
|
| Часовой пояс GMT +3, время: 14:25. |