Reputation: 15297
I am trying to get replay from my trigger
receiver. using jQuery
custom trigger
event. if I am wrong please correct me. If there is a way to do this, Please let me know..
We can set another trigger in receiver, I agree. but can we implement callback?
here is my try:
var receiver = function() {
console.log('trigger received');
return "Sending Hellow World!";
}
$(document).on("getReady", receiver);
var triggerer = function() {
var callBack = function(msg) {
console.log("msg received", msg);
}
$(document).trigger("getReady", callBack);
}
triggerer();
Upvotes: 0
Views: 41
Reputation: 1553
You can use second parameter of $.trigger
. It should be an array of additional parameters that will be passed to your custom event.
That way, you can pass your callback and use it inside receiver
.
Note that jQuery will always pass its own event object as a first parameter to receiver
.
var receiver = function(e, callback, otherParam){
console.log('trigger received');
callback && callback.call(e, "Sending Hello World! " + otherParam);
};
var triggerer = function(){
var callBack = function(msg) {
console.log("msg received", msg);
};
$(document).trigger("getReady", [callBack, 1337]);
};
$(document).on("getReady", receiver);
triggerer();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Upvotes: 1