Как передать обработчик события в пользовательский обработчик триггера

Я хотел бы знать, как я могу передать обработчик события из keydown а также keyup событие (e), в пользовательский обработчик триггера (start а также stop). Мне это нужно для того, чтобы функции moveWorldStart и moveWorldStop могли получить свое значение.

$(window).keydown(function(e){
    $(document).trigger('start');
}).keyup(function(e){
    $(document).trigger('stop');
});

$(document).on('start', moveWorldStart);
$(document).on('stop', moveWorldStop);

function moveWorldStart(e) {
    //e.which || e.keyCode == ?
}
function moveWorldStop(e) {
    //e.which || e.keyCode == ?
}

Я пытался положить e в разных местах, но, честно говоря, я понятия не имею, что я делаю. Кто-нибудь может подтолкнуть меня в правильном направлении? Тывм:)

1 ответ

Решение

Как это:

$(window).keydown(function(e){
    $(document).trigger({
        type:"start",
        userEvent:e     
    });
});

function moveWorldStart(e) {
    console.log(e.userEvent)
}

Посмотрите на JSFiddle: http://jsfiddle.net/qyL56/

Посмотрите документацию: http://api.jquery.com/trigger/

Другие вопросы по тегам