jQuery / JavaScript — вызов события нажатия кнопки из события нажатия другой кнопки
У меня есть следующий HTML-код:
<input type="submit" name="savebutton" class="first button" />
<input type="submit" name="savebutton" class="second button" />
И JS:
jQuery("input.second").click(function(){
// обработчик клика для второй кнопки
return false;
});
Вопрос: как можно программно вызвать событие клика для второй кнопки, когда я нажимаю на первую кнопку? Обратите внимание, что у меня нет возможности изменять HTML второй кнопки или её обработчик клика. Как это можно сделать?
5 ответ(ов)
Чтобы добавить идентификаторы к обоим элементам ввода, вам нужно сделать следующее:
- Убедитесь, что ваши HTML элементы имеют атрибуты
idсоответственно:
<input type="text" id="first" />
<input type="text" id="second" />
- Теперь ваш код для триггера события клика на кнопку с идентификатором
secondостанется без изменений:
// триггерим клик по второй кнопке
$("#second").click();
Таким образом, идентификаторы first и second будут добавлены корректно, и ваш JavaScript код сможет взаимодействовать с элементом с id second без проблем.
Вы можете просто вызвать нужное событие клика следующим образом:
$(".first").click(function() {
$(".second").click();
return false; // предотвратить выполнение остальных обработчиков события
});
В этом коде при нажатии на элемент с классом .first будет срабатывать событие клика на элементе с классом .second. Использование return false; также предотвращает выполнение остальных обработчиков этого события, если это необходимо.
Данный код на jQuery создает обработчик события click для элемента input с классом first. Когда этот элемент вызывается (например, пользователь на него нажимает), выполняется функция, которая инициирует событие click для элемента input с классом second. Таким образом, при клике на первый элемент второй элемент тоже "кликается".
В конце функции возвращается false, что предотвращает дальнейшую обработку события (например, стандартное поведение кнопки, если это кнопка отправки формы).
Если у вас есть дополнительные вопросы или нужна помощь, не стесняйтесь спрашивать!
Вы имеете в виду это:
jQuery("input.first").click(function(){
jQuery("input.second").trigger('click');
return false;
});
Этот код устанавливает обработчик события клика для элемента с классом first. Когда пользователь кликает на этот элемент, код программно вызывает клик на элементе с классом second, а затем предотвращает стандартное поведение (например, отправку формы или выполнение других действий).
Вы можете использовать следующий код на JavaScript для эмуляции клика по элементу с идентификатором myBtn:
document.getElementById("myBtn").click();
Этот код находит элемент с указанным идентификатором и вызывает метод click(), который инициирует событие клика по этому элементу, как если бы пользователь нажал на кнопку. Убедитесь, что элемент с таким идентификатором действительно существует на странице во время выполнения этого кода.
Потеряно HTML-кодирование при чтении атрибута из поля ввода
jQuery/JavaScript: Замена битых изображений
Предварительный просмотр изображений перед загрузкой
Установить значение по умолчанию в выпадающем списке с помощью jQuery
Как выполнить код после сброса HTML-формы с помощью jQuery?