首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件传播事件绑定

事件传播事件绑定
EN

Stack Overflow用户
提问于 2017-02-16 18:21:16
回答 2查看 54关注 0票数 0

以下两者有何不同:

代码语言:javascript
复制
$("#btn").click(handler);

代码语言:javascript
复制
$("#btn").on('click', handler);

以上两种方法都会将一个处理程序绑定到click事件上的元素。什么时候使用哪一个?

EN

回答 2

Stack Overflow用户

发布于 2017-02-16 18:31:18

因此,正如您从jquery源代码中看到的,.click只是一个辅助函数。在内部,它将调用映射到this.on( name, null, data, fn )。所以它比其他任何东西都更方便,在内部所有这些函数都将调用.on

额外的。您也可以不使用参数来触发此事件,这是if语句中的速记操作。这将在被调用的元素上触发DOM事件,就像用$button.click()模拟单击一样,这也是$button.trigger('click')的缩写。

代码语言:javascript
复制
jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
    "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
    "change select submit keydown keypress keyup contextmenu" ).split( " " ),
    function( i, name ) {

    // Handle event binding
    jQuery.fn[ name ] = function( data, fn ) {
        return arguments.length > 0 ?
            this.on( name, null, data, fn ) :
            this.trigger( name );
    };
});
票数 1
EN

Stack Overflow用户

发布于 2017-02-16 18:32:54

.click()方法只是单击(“.on”,.For)处理程序的缩写。有关更多详细信息,请参阅此链接https://api.jquery.com/click/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42271067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档