0

2つの関数にバグを発生させ、それらのイベントを発生させることになっているこれらのコードがあります。ただし、何らかの理由で、イベントがトリガーされていないようです。期待どおりにコンソールにログインしますが、イベントが発生することはありません。

//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();});
4

1 に答える 1

3

どの要素を指定する必要があるbindので、次のことを試してください。

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

それ以外の

jQuery.bind(...

(jQueryバージョン1.7以降を使用している場合は、この.on()メソッドに切り替えることをお勧めします。この目的でも同じ効果がありますが、v1.7以降で行うことをお勧めします。)

于 2012-09-26T13:53:24.457 に答える