将点击事件'this'传递给另一个函数,这是正确的做法吗?

时间:2012-06-12 14:28:57

标签: javascript jquery

目前正在尝试维护对象方法,目前我想在执行点击处理程序时调用切换方法。因此处理程序在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' );   
            }


        }            

1 个答案:

答案 0 :(得分:2)

是的,这是一种方法。虽然,一个普通的旧下划线不是最好的变量名。我推荐一些更清晰的东西,比如var _this = this;

尝试查看jQuery源代码本身,它与this进行了很多相关的操作。