Как я могу вызвать пользовательское событие и использовать его возвращаемое значение обратного вызова сейчас? - PullRequest
0 голосов
/ 29 июня 2019

Обычно я могу сделать что-то подобное (я мог бы использовать массив для управления несколькими подписками) в vanilla 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 голосов
/ 29 июня 2019

Похоже, я не нашел достаточно ... 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,']]');

...