У меня есть диалоговое окно jQuery, которое позволяет пользователям добавлять и удалять параметры для голосования (используя jQuery для обновления DOM). Каждый раз, когда добавляется вариант, вход и кнопка («Удалить») добавляется в диалоговом окно в следующем формате -Найти элемент previoius с определенным классом
<div id="existing-options">
<div class="dialog-option">
<div class="dialog-right">
<div class="remove_option button-secondary" id="remove_new_0">Delete</div>
</div>
<div class="dialog-left">
<input type="text" value="1" class="option text ui-widget-content ui-corner-all" id="new_0" name="new_0">
</div>
</div>
</div>
Я пытаюсь сделать так, что если пользователи нажимают ввести, когда они фокусируются на входе, событие click
для его коррекции кнопки «Удалить» запускается.
Я провел некоторое исследование и .sibling()
кажется неуместным. .prev()
показался моим лучшим вариантом, но это не работает. Может кто-нибудь, пожалуйста, скажите мне, как лучше всего это сделать?
$(document).ready(function(){
dialog_options_container = $('#existing-options'); // The container which holds the option inputs/buttons
/** Capture the 'enter' key when removing an option */
dialog_options_container.bind('keyup', '.option', function(e){
if(e.keyCode === 13){
$(this).prev('.remove_option').click();
return false; // Ignore the default event
}
});
});
В вашем javascript что означает 't.dialog_options_container'? – Epsil0neR
Вы могли бы просто сделать ключ ввода функцией, так как кнопка delete вместо этого привязывает функцию. Итак, скажите, что вы нажимаете событие, чтобы .remove() родитель, только если (e.which === 13) {$ (this) .parent(). Remove(); } всего лишь небольшой пример, так как я нахожусь на своем телефоне ха-ха. – EasyBB
@ Epsil0Ner - Я обновил вопрос, чтобы показать это. –