2014-09-19 3 views
0

Это действительно простой пример, но я все еще новичок в jQuery, и я всегда боюсь сочетать события jQuery (функции?).Как написать этот jQuery более эффективно?

$(function() { 
    $(document).on('focus', 'input[type=text]', function() { 
     this.select(); 
    }); 
}); 

Я хотел бы добавить в .on('focus', 'input[type=email]' и .on('focus', 'textarea', не создавая совершенно новую .on функцию.

+1

Только отдельные селекторы с запятыми и становится «ИЛИ» состояние. –

+2

В качестве альтернативы вы можете использовать [': input'] (http://api.jquery.com/input-selector/) – Satpal

+2

Для нескольких событий используйте пробел между ними (я понимаю, это кажется немного непоследовательным) :) –

ответ

1

Попробуйте использовать multiple selector для этого,

$(function() { 
    $(document).on('focus click touch', 'input[type=text],input[type=email], textarea', function() { 
     this.select(); 
    }); 
}); 
+1

' input [type = text], textarea, input [type = email] ' – laaposto

+0

Прекрасное спасибо. Я понятия не имел, что это будет так просто, следовало бы попробовать это в первую очередь. Что, если я захочу добавить и на клик и на прикосновение? Я попробовал '$ (document) .on ('focus, click, touch',' но это не сработало – patrickzdb

+1

Отлично, я согласен с ответом, когда мне тоже будет позволено. – patrickzdb

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