Как создать событие на клик, при этом click() не используя?

Ситуация такова:
Есть определенный метод в котором выполняется такой код:
$('.class').on('click', function() {
                $('.selector').hide(200);
                ...
            });


Перед данным исполнением метода необходимо сделать действие по-умолчанию, к примеру выполнить сам клик...
$('.class').click();

В итоге получается:

$('.class').click();

$('.class').on('click', function() {
                $('.selector').hide(200);
                ...
            });


Тоесть, страница загружается - осуществляется клик. Но как мне сказали, что так не делают и это не правильно. Почему? Потому-что некоторые браузеры могут блокировать данное действие и все попросту не пойдет так как необходимо.

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

Подскажите как правильно это написать? Возможно я неправильно рассуждаю, хотелось бы услышать конструктивные предложения?

Заранее всем, Спасибо!
  • Вопрос задан
  • 2908 просмотров
Решения вопроса 1
@YemSalat
Потому-что некоторые браузеры могут блокировать данное действие и все попросту не пойдет так как необходимо.

Либо вам фигню сказали, либо вы не так поняли. Все браузеры ведут себя одинаково в этом плане.

Если речь о том, что событие навешивается только на элементы которые на этот момент присутсвуют на странице (т.е. элементы которые были созданы после задания обработчика не будут реагировать на данное событие)
То можно сделать так:
$(document).on('click', '.class', function(event) { /* ..code.. */ });

Т.е. событие вешается на элемент, который всегда присутствует на странице, в данном примере - это document.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@frees2
www.dulsky.eu/d/ кнопка на клике без использования клик
Ответ написан
Комментировать
VovanR
@VovanR
Фронт-энд Вэб-разработчик
А какой смысл в клике по-умолчанию?
Если есть необходимость запустить какой-то код после загрузки скрипта и выполнять его же при клике, то стоит вынести этот код в отдельную функцию. И вызвать ее после загрузки скрипта и по клику соответственно.
И я считаю, что лучше вместо такого:
$('.class').click();
Писать так:
$('.class').trigger('click');

Так в дальнейшем будет проще поддерживать код, если надо будет поменять что-то.
Ответ написан
Комментировать
AlexanderTsymbal
@AlexanderTsymbal
tsymbal.su
.trigger("click");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы