2016-03-09 6 views
0

Как я могу применить функцию для нескольких полей в 1 форме. Смотрите мой код ниже. Я бы хотел, чтобы эта функция применялась для форм # wdform_1_element10 и # wdform_2_element10.On Keydown получить несколько полей?

$(function() { 
    $('.form10').on('keydown', '#wdform_2_element10', function(e){-1!==$.inArray(e.keyCode,[46,8,9,27,13,110,188])||/65|67|86|88/.test(e.keyCode)&&(!0===e.ctrlKey||!0===e.metaKey)||35<=e.keyCode&&40>=e.keyCode||(e.shiftKey||48>e.keyCode||57<e.keyCode)&&(96>e.keyCode||105<e.keyCode)&&e.preventDefault()}); 
}) 
+0

Можете ли вы представить свой код более читаемым образом (то есть, гораздо проще понять ваш код, если есть один оператор в строке, а не одна строка за функцию) –

ответ

1

Просто используйте запятую для разделения двух селекторов. Вы можете посмотреть мой keyup пример здесь: https://jsfiddle.net/bxzmxsvk/

Yours должен просто выглядеть следующим образом:

$(".form10").on("keydown", "#wdform_1_element10, #wdform_2_element10", function(e) { 
    -1 !== $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 188]) || /65|67|86|88/.test(e.keyCode) && (!0 === e.ctrlKey || !0 === e.metaKey) || 35 <= e.keyCode && 40 >= e.keyCode || (e.shiftKey || 48 > e.keyCode || 57 < e.keyCode) && (96 > e.keyCode || 105 < e.keyCode) && e.preventDefault() 
}); 

Просто отделить селектор с запятой, и вы должны быть хорошо.

+0

Большое спасибо. Иногда ответ настолько прост;) – RobbTe

+0

@RobbTe Я правильно знаю? Не так давно я был в том же состоянии, что и сейчас. – MortenMoulder

0

Вы можете попробовать это:

$("#wdform_1_element10, #wdform_2_element10").keydown(function(event) { 
// code goes here. 
} 

вы можете по этой ссылке: DEMO

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

  • Нет связанных вопросов^_^