JQuery: запуск клика на IMG не работает - PullRequest
0 голосов
/ 19 марта 2010

Я тестирую в Chrome.

У меня есть куча значков «Добавить элемент» на экране, которые пользователь может щелкнуть, чтобы добавить этот элемент в базу данных. У меня также есть кнопка в нижней части этого списка, которая должна добавить весь список элементов.

Мне кажется, что самый простой способ сделать это - вызвать событие «click» для всех этих значков (причина, по которой я делаю это с помощью значков, заключается в том, что значения, относящиеся к элементам, сохраняются как атрибуты элемента div. в котором находится значок).

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

Я попытался вызвать щелчок только для первой иконки, добавив в селектор «:first», но это не помогло.

$(function(){
    $('#addAllItemsButton').click(function() {
    alert("Caught your button click");
    $('.addItemIcon').trigger('hover');
});

Я прочитал некоторые посты, в которых говорится, что браузеры не позволяют вам инициировать события нажатия, поэтому я добавил к значкам прослушиватель событий 'hover', чтобы увидеть, связана ли проблема с типом события, которое я хочу вызвать. Ответ: нет, та же история; предупреждение будет работать, но триггер не будет.

Я поместил прослушиватель события значка в коде перед прослушивателем события кнопки.

Что происходит? Спасибо за любые подсказки.

1 Ответ

1 голос
/ 19 марта 2010

Прежде всего, убедитесь, что селектор действителен, например:

$(function() {
    $('#addAllItemsButton').click(function() {
        var icons = $('.addItemIcon');
        alert(icons.length);
     });
});

это должно дать вам как минимум 1

Кстати - у меня возникли проблемы с hover. вы можете пойти на mouseenter / mouseleave

...