Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to trigger custom event with jQuery?

I'm attaching a custom event handler to the body in jQuery's ready method.
Afterwards I immediately trigger the custom event but nothing seems to happen.

$(function(){
    $("body").on("test", function(){ alert("test triggered"); }
    $("body").trigger("test");
}
like image 349
JJK Avatar asked Jun 19 '13 23:06

JJK


2 Answers

Firstly you have a syntax error

$(function(){
    $("body").on("test", function(){
        alert("test triggered");
    });  < ---- Missing this
    $("body").trigger("test");
});

Secondly you cannot trigger the event from the console , as $(function() {}); forms a closure and you will not have access to any of the methods inside them

For it to work like you are expecting , put a debug point in your script file and then try to trigger the event. It works now as the events are in scope.

like image 97
Sushanth -- Avatar answered Sep 23 '22 06:09

Sushanth --


It looks like your code is not formatted correctly. Check your debug console to confirm.

You can try this:

$(function(){
    $("body").on("test", function(){
        alert("test triggered");
    });
    $("body").trigger("test");
}
like image 34
Robert Waddell Avatar answered Sep 19 '22 06:09

Robert Waddell