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: Замена битых изображений
Несколько файлов JavaScript/CSS: лучшие практики?
Предварительный просмотр изображений перед загрузкой
JavaScript - Получение имени файла и расширения из input type="file"