Событие не срабатывает

У меня есть эти фрагменты кода, которые должны содержать две функции и вызывать события для них. Однако по какой-то причине событие, похоже, не сработало. Они регистрируются на консоли, как и ожидалось, но событие никогда не запускается.

//Show backstage event
(function( $, oldRem ){
    backstage.show = function(){
        console.log("yup, I'm the right one");
        var resp = oldRem.apply( this, arguments );
        $("#backstageArea").trigger("showBackstage");
        return(resp);
    };
})( jQuery, backstage.show );
//Hide backstage event
(function( $, oldRem ){
    backstage.hide = function(){
        console.log("And so am I.");
        var resp = oldRem.apply( this, arguments );
        if(anim && config.chkAnimate) {setTimeout( 'jQuery("#backstageArea").trigger("hideBackstage")', config.animDuration);}
        else {$("#backstageArea").trigger("hideBackstage");}
        return(resp);
    };
})( jQuery, backstage.hide );

//Resize never logs its console message.
jQuery.bind("hideBackstage", function(){topbar.resize();});
jQuery.bind("showBackstage", function(){topbar.resize();});

1 ответ

Решение

Вы должны указать, какой элемент (ы) bind чтобы, так что попробуйте:

jQuery("#backstageArea").bind(...

вместо

jQuery.bind(...

(И если вы используете JQuery версии 1.7+, вы можете переключиться на .on() Метод - будет иметь тот же эффект для этой цели, но это рекомендуемый способ делать вещи начиная с v1.7.)

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