我正试图从我的trigger
接收器重播。使用jQuery
自定义trigger
活动。如果我错了,请纠正我。如果有办法,请告诉我..
我同意,我们可以在接收器中设置另一个触发器。但我们可以实施回调吗?
这是我的尝试:
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();
答案 0 :(得分:1)
您可以使用$.trigger
的第二个参数。它应该是一个数组的其他参数,将传递给您的自定义事件。
这样,您就可以传递回调并在receiver
内使用它。
请注意,jQuery将始终将自己的事件对象作为第一个参数传递给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>