`
bingyalengxuan
  • 浏览: 19613 次
  • 性别: Icon_minigender_2
  • 来自: 石家庄
社区版块
存档分类
最新评论

this和that

阅读更多

我有一个函数,其功能是让某个控件执行一次click事件。

 

Aclick : function(that) {
    var $this_element = $(this),
        $that_element = $(that);
    if($this_element.closest('.c').length || $this_element.closest('.c').length){
        if(b.length){
            b.click();
        }
    }
}
 

这个函数有两种调用方式:

 

(1)

E : function() {
    var btn = $(this); //this为e
    .... //具体的函数实现细节
    Aclick(this);
}

 /*这个时候,Aclick函数中this为event对象,that为dom对象*/

 

(2)

$(function() {
    $(document).on('click','.d','Aclick');
})

 /*这个时候,Aclick函数中this为dom对象,that为event对象*/

 

我的html结构:

<div class="c">
    <div class="d"></div>
    <div class="e"></div>
</div>
<div class="b"></div>

 

 

这里这么写是因为元素e之前写了click事件,元素d没有;我这次写的click事件,只是给已经有click事件的元素的click事件中加了一句函数调用,给没有绑定click事件的元素再绑定一次。

 

这样子做的目的,只是让不在c下面的d或者e拥有这个click事件。

 

虽然这样子写了,执行了下也是没问题,但是自己还是有点迷惑。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics