JQuery триггер делегированное событие

0

У меня событие:

$(document).on("click", ".someClass", function(e){ /*stuff*/ }));

Затем я создаю $(".someClass").trigger("click"); но ничего не происходит.

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

Кроме того, у меня есть несколько элементов элементов someClass, и иногда мне нужно вызвать его только на одном из них.

  • 1
    Вы можете попробовать $(".someClass")[0].click(); Это вызовет событие щелчка родного элемента DOM
  • 0
    Возможно с любым именем события?
Показать ещё 1 комментарий
Теги:
events

1 ответ

1
Лучший ответ

Что-то в этом направлении должно работать:

var $container = $('.container');

// create a button
var $button = $('<input value="Click me!" class="btn" type="button"/>');

// add button to container
$container.append($button);

// click listener
$container.on('click', '.btn', function() {
    alert('Triggered');
});

// Create an event
var event = jQuery.Event('click');
event.target = $container.find('[type=button]')[0];

// Trigger the event on the container
$container.trigger(event);

скрипка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню