У меня событие:
$(document).on("click", ".someClass", function(e){ /*stuff*/ }));
Затем я создаю $(".someClass").trigger("click");
но ничего не происходит.
Я думаю, что мне нужно было каким-то образом инициировать событие на документе... Есть ли способ инициировать событие каким-то образом, поскольку он будет действительно нажат, так что делегированные события будут уволены?
Кроме того, у меня есть несколько элементов элементов someClass
, и иногда мне нужно вызвать его только на одном из них.
Что-то в этом направлении должно работать:
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);
$(".someClass")[0].click();
Это вызовет событие щелчка родного элемента DOM