Допустим, у меня есть функция JavaScript под названием capturedata(); Мне нужно вызвать эту функцию при нажатии этой кнопки

<button id='yes'></button> 

По некоторым причинам я не хочу использовать какой-либо обработчик событий в html, например onclick='capturedata()' Теперь я использую Jquery таким образом

$(document).ready(function(){
  $("#yes").click();
  capturedata();
});

Но это не работает. Мне нужен лучший способ справиться с этим, и я не хочу использовать какой-либо обработчик событий, как onclick в html. Я хочу, чтобы действие происходило автоматически после нажатия кнопки.

0
Ekene 26 Фев 2018 в 18:56

3 ответа

Лучший ответ

Почти, но не совсем, вам нужно зарегистрировать capturedata в качестве обратного вызова для события click.

$(document).ready(function(){
    $("#yes").click(capturedata);
});
2
phuzi 26 Фев 2018 в 16:01
$(document).ready(function(){
  $("#yes").click(function(){
    capturedata();
    // some code
  });
});
1
аlex dykyі 26 Фев 2018 в 16:17

Ваш метод click требует функции обратного вызова в качестве первого аргумента

Например, .click(() => {})

См. DOCS

Обратите внимание, что вызов .click() будет вызывать событие щелчка, а не прослушивать его.

Предложение: используйте addEventListener('click', {yourCallback}) см. DOCS

1
Francis Leigh 26 Фев 2018 в 15:58