Как заставить кнопку выполнять определенную задачу вместо простого щелчка? Я пытаюсь выделить текст и прокрутить кнопку, когда вы нажмете на нее. Цикл for и оператор if внутри функции правильный? Кроме того, я видел в сообщении, что в начале и в конце функции добавляются дополнительные скобки. Это верно? Пожалуйста, помогите исправить этот код. Спасибо!
var press = document.createElement('press');
press.onclick = (function () {
for (var q = 0; q < i; q++) {
if ( x == y ) {
document.getElementById(x).scrollIntoView(true);
$('body').text().highlight(x);
}
}
})();
press = = document для начала это как раз неправильный = =вы назначаете результат этой функции свойству onclick с помощью IIFE (то есть (function () { ... })(); ...



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Мне сложно понять ваш вопрос, но я попытаюсь ответить на него, основываясь на вашем коде.
«Как заставить кнопку выполнять определенную задачу вместо простого щелчка?» Вы добавляете прослушиватель событий к кнопке, отключаете поведение по умолчанию и записываете задачу в обратном вызове слушателей.
btnElement.addEventListener('click', (e)=>{
e.preventDefault();
//Code for your task
});
Цикл for и оператор if внутри цикла for верны? Я не уверен, вопрос это или утверждение. Синтаксически это выглядит правильно, но я не могу сказать большего без надлежащего контекста. Что такое х? Пожалуйста, предоставьте рабочий образец или больше кода.
Кроме того, я видел в сообщении, что в начале и в конце функции добавляются дополнительные скобки. Это верно? Вы делаете это только тогда, когда хотите иметь IFFE (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression). По сути, вы вызываете анонимную функцию сразу после ее определения.
Пожалуйста, помогите исправить этот код. Спасибо! Просмотрите пункты, упомянутые выше, и внесите изменения в свой код. Чтобы помочь вам исправить код, мне нужно больше информации о том, что вы пытаетесь сделать. Лучшее, что я могу сделать, это добавить отступ.
var press = document.createElement('button'); //Create a button element.
press.onclick = (function () {
for ( var q = 0; q < x.length; q++) {
if ( x == y ) {
document.getElementById(x).scrollIntoView(true);
$('body').text().highlight(x);
}
}
})();
пожалуйста, сделайте отступ ..