От новичка до гуру: Курсы программирования на CyberDuff

Событие onclick выполняется сразу без нажатия

Я работаю над некоторым кодом, который содержит событие щелчка для элемента span (этот фрагмент кода является частью функции, создающей диапазон):

$("span[class=addnewsqlwherevalue][id='" + opts.counters[3] + "']").click(
function(e) { ...});

Он выполняется сразу после того, как он определен там, а также когда я нажимаю на указанный элемент span, хотя я хочу, чтобы он выполнялся только тогда, когда я нажимаю на элемент.

Я также пробовал:

function clickSpan(e) {...} 
$("span[class=addnewsqlwherevalue][id='" + opts.counters[3] + "']").onclick = clickSpan;

В приведенном выше случае он не выполняется никогда.

$("span[class=addnewsqlwherevalue][id='" + opts.counters[3] + "']").on('click', function(e) {...}); // same as the first approach

Я просмотрел похожие вопросы, но они не содержали решения, которое сработало. Этот код не от меня, поэтому я могу что-то упустить, но я предполагаю, что нигде в коде это событие onclick не выполняется (потому что функция вызывается именно тогда, когда она создана).

Пожалуйста, потерпите меня, я новичок в javascript, и мне нужно найти несколько ошибок в большом проекте.

07.01.2014

  • Вы пытались использовать метод привязки вместо этого для привязки события щелчка или метода щелчка? 07.01.2014
  • Связывание @developer82 устарело и не должно использоваться. Используемый синтаксис click и on подходит. Вы говорите, что код — это та часть, которая создает диапазон — здесь нет кода создания, только привязка к событию клика. Вы должны показать весь соответствующий код для этого диапазона 07.01.2014
  • тогда, возможно, попробуйте сначала использовать is для всех объектов span и посмотрите, срабатывает ли он автоматически. 07.01.2014
  • on() — это правильный способ определения события, и он не может выполняться автоматически. Поэтому я бы попросил проверить, не вызывается ли событие клика в другом месте кода с использованием .click() или .trigger('click'). 07.01.2014
  • Если вы удалите часть идентификатора, фрагмент кода в этом случае будет работать отлично. вот скрипка для этого. Он показывает параметры, не определенные в консоли. 07.01.2014
  • @sdespont Большое спасибо, я не знал о триггере. И я понятия не имею, почему его так назвали. Теперь это работает! 07.01.2014
  • @ExpectoPatronum отлично, я скопировал свой комментарий в качестве ответа, чтобы закрыть вопрос. 07.01.2014

Ответы:


1

Ответ найден в комментарии к вопросу. Вот просто копия/вставка комментария, чтобы правильно закрыть вопрос.

on() — это правильный способ определения события, и он не может выполняться автоматически. Поэтому я бы попросил проверить, не вызывается ли событие клика в другом месте кода с использованием .click() или .trigger('click').

07.01.2014
Новые материалы

Отслеживание состояния с течением времени с дифференцированием снимков
Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

Игра в прятки с данными
Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

«Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..

Раскройте свой потенциал в области разработки мобильных приложений: Абсолютная бесплатная серия
Глава 6: Работа в сети и выборка данных Глава 1: Введение в React Native Глава 2: Основы React Native Глава 3: Создание пользовательского интерфейса с помощью React Native Глава 4:..

Все о кейсах: Camel, Snake, Kebab & Pascal
В программировании вы сталкивались с ними при именовании переменной, класса или функции. Поддержание согласованности типов и стилей случаев делает ваш код более читабельным и облегчает совместную..

Как работает дистанционное парное программирование и почему оно может изменить вашу жизнь
Серебряная пуля от одиночества и отвлекающих факторов во время обучения программированию Независимо от того, работаете ли вы или учитесь удаленно, велика вероятность, что одиночество и..