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

passing clicked event 'this' to another function, is this correct practice?

本文关键字:函数 另一个 事件 this      更新时间:2023-09-26

目前正在尝试维护对象方法,目前我想在操作单击处理程序时调用切换方法。所以处理程序在 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' );   
            }

        }            

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

尝试查看jQuery源代码本身,它与this做了很多杂耍。