Нажмите кнопку с задействованными задачами, такими как выделение и прокрутка

Как заставить кнопку выполнять определенную задачу вместо простого щелчка? Я пытаюсь выделить текст и прокрутить кнопку, когда вы нажмете на нее. Цикл 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);
        }
    }
})();

пожалуйста, сделайте отступ ..

Maxime Chéramy 03.08.2018 19:59
press = = document для начала это как раз неправильный = =
StudioTime 03.08.2018 20:17

вы назначаете результат этой функции свойству onclick с помощью IIFE (то есть (function () { ... })(); ...

Heretic Monkey 03.08.2018 20:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
40
1

Ответы 1

Мне сложно понять ваш вопрос, но я попытаюсь ответить на него, основываясь на вашем коде.

«Как заставить кнопку выполнять определенную задачу вместо простого щелчка?» Вы добавляете прослушиватель событий к кнопке, отключаете поведение по умолчанию и записываете задачу в обратном вызове слушателей.

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);
    }
  }
})();

Другие вопросы по теме