如何触发自定义事件并立即使用其回调返回值?

时间:2019-06-28 21:21:22

标签: javascript jquery events callback event-handling

通常我可以在香草js中做类似的事情(我可以​​使用数组来管理多个订阅)。

window.doCensorship = function($value, $proposal){return true};

function canPublish(text){
    var returnValue = (/* free speech */ true);
    if (typeof window.doCensorship === "function") {
       returnValue = window.doCensorship(text, returnValue);
    }
       return returnValue;
    }
}

但是从我所看到的看来,JQuery似乎没有从自定义事件回调中获取值的想法...

我错过了一些文档吗?如何在JQuery中做到这一点?

1 个答案:

答案 0 :(得分:0)

似乎我搜索不足... triggerHandler带有对象参数似乎是一种可能的解决方案:

var r1 = {result:0};

$("#add-form").on("filter_results", function(e, data){
    data.result=41;
    return true;
});

$("#add-form").on("filter_results", function(e, data){
    data.result++;
    return true;
});

$("#add-form").triggerHandler("filter_results", [r1]);
console.log('[[',r1,']]');