Royi Namir Royi Namir - 5 months ago 94
Javascript Question

jQuery trigger click vs click ()?

I have this simple code : here

$(".btn").on('click',function () {

$(".a").trigger('click');
});

$(".btn2").on('click',function () {

$(".a")[0].click();
});


I'm trying to simulate pressing on Anchor.

But when I use jQuery's
trigger
, it doesn't work (why?)

When I use
"jsobj".click()
func, it does work.

After reading the jQuery documentation, I don't see any reason why it shouldn't.

Help ?

PS: I'm using Chrome.

Answer

Actually $(".a").trigger('click'); triggers the click event but it doesn't mean that it'll click the link, instead it'll execute the event handler if you already have one, i.e.

$(".btn, .btn2").on('click',function () {
    $($(".a")[0]).trigger('click'); // first element
});

$(".a").on('click', function (e){
    alert(e.target);
});‚Äč

The given example will trigger the click event of the a and will execute the handler (the anonymous function) that's already have been registered for that event using

$(".a").on('click', function (e){...});

DEMO.

Comments