首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.trigger()与.click()的jQuery优势/差异

.trigger()与.click()的jQuery优势/差异
EN

Stack Overflow用户
提问于 2012-03-12 19:49:48
回答 2查看 25.4K关注 0票数 74

在性能方面,它们之间的收益(或仅仅是差异)是什么:

代码语言:javascript
复制
$('.myEl').click();

代码语言:javascript
复制
$('.myEl').trigger('click');

有没有呢?

EN

回答 2

Stack Overflow用户

发布于 2012-03-12 19:55:38

我认为

代码语言:javascript
复制
$('.myEl').trigger('click');

更好,因为它为你节省了一个函数调用,因为$('.myEl').click();只调用那个函数。查看jQuery源代码中的代码

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

    // Handle event binding
    jQuery.fn[ name ] = function( data, fn ) {
        if ( fn == null ) {
            fn = data;
            data = null;
        }

        return arguments.length > 0 ?
            this.on( name, null, data, fn ) :
                    //here they call trigger('click'); if you provide no arguments
            this.trigger( name );
    };

    if ( jQuery.attrFn ) {
        jQuery.attrFn[ name ] = true;
    }

    if ( rkeyEvent.test( name ) ) {
        jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
    }

    if ( rmouseEvent.test( name ) ) {
        jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
    }
});
票数 5
EN

Stack Overflow用户

发布于 2012-03-12 19:54:55

有关性能,请单击此处的.check ..两者几乎都是same...click()是触发器(‘http://jsperf.com/trigger-vs-not-trigger’)的缩写。

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

https://stackoverflow.com/questions/9666471

复制
相关文章

相似问题

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