1

現在、オブジェクトアプローチを維持しようとしていますが、現時点では、クリックハンドラーが実行されたときにトグルメソッドを呼び出したいと思います。したがって、ハンドラーはinitメソッド内にあり、リンクをクリックすると、toggle_pane()を呼び出して、「this」をクリックしたリンクを渡します。これは正しく聞こえますか、それとも何をすべきですか?すべてのアドバイスを歓迎します!

これが私が取り組んでいるコードのスニペットです:

JS

init: function(){

            var _ = this,
                slides_li = _.els.slides.children();

            // Click handlers
            slides_li.on('click', function(e) {
               _.toggle_pane(this); 
            });



        },
        toggle_pane: function(li){

            var _ = this,
                slides_li = _.els.slides.children();

            if( !$(li).hasClass('active')) {
             console.log( 'dont have active' );   
            }


        }            
4

1 に答える 1

2

はい、それはそれを行う方法です。ただし、昔ながらのアンダースコアは最適な変数名ではありません。のように、もう少し明確なものをお勧めしvar _this = this;ます。

jQuery のソース コード自体を調べてみてくださいthis

于 2012-06-12T14:33:07.270 に答える