封装了一个下拉框显示隐藏函数,不知是否合理

$(document).ready(function(){

    // 封装一个函数,实现下拉框显示隐藏。可以共用代码
    //(点击按钮下拉框显示,点击下拉框区域内也显示,当点击下拉框区域外隐藏)
    var drop_down = function(click_obj_class,drop_box_class){

        var drop_box_obj    = null;  //初始化弹窗

        $("."+click_obj_class).on("click",function(e){
            $('.'+drop_box_class).hide(); // 点击.btn时,先让所有的下拉框都隐藏

            var click_obj = $(this); // 
            drop_box_obj    = reference.siblings('.'+drop_box_class);
            var e = e || window.event;
           
            drop_box_obj.show();
            e.stopPropagation();
        })

        $(document).on("click",function(e){
            var e = e || window.event;
            var target = $(e.target).closest("div."+drop_box_class)
            if(drop_box_obj !==null && !target.is(tip_model)) {
                drop_box_obj.hide();
            }
        })
    }

    // 不同的按钮,和下拉框。但是实现都一样。
    drop_down("btn1","drop_box1")
    drop_down("btn2","drop_box2")
    drop_down("btn3","drop_box3")
})

不知道这样的封装是否合理,一个业余前端的封装尝试

阅读 829
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题