2015-12-01 2 views
-4

Я пытаюсь использовать jQuery для выбора динамического элемента на странице, используя его имя класса + this. вот мой код:jQuery, используйте «this» с динамическим селектором

$('form').on('keyup', '.dynamicGenInput', this, function(ev){ 
    $(this).hide(); 
}); 

Каков правильный синтаксис этой ситуации?

+3

Я читал ваш вопрос несколько раз, и я все еще смущен тем, что вы пытаетесь сделать - не могли бы вы уточнить? –

+1

Ну, вы не можете использовать jQuery для выбора элемента, который динамически добавляется на страницу после загрузки. Я добавляю несколько элементов с тем же классом к загрузке страницы страницы. Мне нужно использовать «on» для выбора указанных элементов. Я хотел бы объединить его с «этим», чтобы выбрать только целевой динамический элемент, тогда я скрою только тот, который был выбран отдельным элементом в ключе. – nick

+0

И жаль, что я скопировал неправильный текст в свой вопрос, я его отредактировал. – nick

ответ

3

Что вы можете сделать, это создать «делегированное» событие, например, так:

$('form').on('keyup', '.dynamicGenInput', function(ev){ 
}); 

Это будет связывать keyup событие все<form> элементы (которые существуют в то время). Когда он будет запущен, jQuery проверит, действительно ли произошло событие keyup на элементе .dynamicGenInput (это дочерний элемент <form>). Если это так, тогда будет работать связанная функция.

Внутри функции у вас есть доступ к элементу, вызванному.

$('form').on('keyup', '.dynamicGenInput', function(ev){ 
    // `this` (or `ev.target`) is the .dynamicGenInput element you triggered 
}); 
Смежные вопросы