Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   keypress и повторяющийся код (https://javascript.ru/forum/jquery/58401-keypress-i-povtoryayushhijjsya-kod.html)

hhh 19.09.2015 21:10

keypress и повторяющийся код
 
Добрый день! Нужен одинаковый результат при двух событиях. Если вынести код внутри, в отдельную функцию, то при блюре ее вызвать можно.
$('input[type="text"].on('blur', myFunction);

Вопрос в том как вызвать при нажатии клавиши функцию, из-за условия внутри, такой способ выше не прокатывает.

$('input[type="text"].on('blur', function() {
  console.log('success');
});

$('input[type="text"].on('keypress', function() {
   if (keyCode == 13) {
    console.log('success');
   }
});

laimas 19.09.2015 21:34

Цитата:

Сообщение от hhh
Нужен одинаковый результат при двух событиях.

а зачем тогда условие?

$('input[type="text"]').on('keypress blur', function(e) {
    alert(e.type)
})

hhh 19.09.2015 21:41

Цитата:

Сообщение от laimas
а зачем тогда условие?

Чтобы происходило одинаковое событие при блюре или при нажатии на enter

laimas 19.09.2015 21:56

Значит вопрос коряво поставлен, получается что не по событиям, а при потере фокуса и нажатию только клавиши Enter. Проверяйте:

e.type == keypress должно быть нажатие именно Enter

hhh 19.09.2015 22:01

Спасибо, что подсказали. я получил новый опыт. Вышло так
$('input[typte=text].on('keypress blur', function (e) {
  if (e.keyCode === 13 || e.type === 'blur') {
    console.log('success')
  }
 });

рони 19.09.2015 22:01

hhh,
$('input[type="text"]').on('keypress blur', function(e) {
   if(e.type == 'blur' || e.which == 13)  myFunction()
})

или

http://javascript.ru/forum/misc/4559...tml#post302151

hhh 19.09.2015 22:16

рони, thx

laimas 19.09.2015 23:04

Цитата:

Сообщение от рони
event.which == 13 && $(this).trigger("blur")

Ошибка будет, да и не выгодно - обработчик blur нужно отдельно определять.

рони 19.09.2015 23:13

Цитата:

Сообщение от laimas
Ошибка будет

где?

laimas 19.09.2015 23:17

Цитата:

Сообщение от рони
где?

event не определена, да и скопировано прямо с ошибкой автора. :)

рони 19.09.2015 23:22

Цитата:

Сообщение от laimas
event не определена, да и скопировано прямо с ошибкой автора

убрал -- рабочий пример по ссылке в 6 посте

hhh 20.09.2015 01:03

Цитата:

Сообщение от laimas
с ошибкой автора.

где ошибка? у меня в консоле все гуд

laimas 20.09.2015 01:40

Цитата:

Сообщение от hhh
$('input[type="text"].on('blur', function()

При таком написании 'input[type="text"].on(', вряд ли будет гут.

hhh 20.09.2015 11:41

Цитата:

Сообщение от laimas
При таком написании 'input[type="text"].on(', вряд ли будет гут.

Значит пример не удачный. В скрипте у меня переменная по id, а не селектор.

рони 20.09.2015 11:51

Цитата:

Сообщение от hhh
В скрипте у меня переменная по id

причём тут это? если речь о незакрытой скобке )

hhh 20.09.2015 12:00

Цитата:

Сообщение от рони
причём тут это?

Утренняя невнимательность)) Писал код тут, поэтому простительно.


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