问题
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");
}
回答1:
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.
回答2:
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");
}
来源:https://stackoverflow.com/questions/17203116/how-to-trigger-custom-event-with-jquery