Javascript 事件传播事件绑定

Javascript 事件传播事件绑定,javascript,jquery,event-binding,Javascript,Jquery,Event Binding,以下两者之间的区别是什么:- $("#btn").click(handler); 及 上述两种方法都将在单击事件时将处理程序绑定到元素。什么时候使用哪一个?从jquery源代码中可以看到。单击只是一个帮助函数。在内部,它将调用映射到this.on(name,null,data,fn)。因此,它比其他任何功能都更方便,在内部,所有这些函数都将调用.on 额外的。您还可以在不带参数的情况下触发此事件,这是shorthand else在此if语句中所做的。这将在被调用的元素上触发DOM事件,就像用$

以下两者之间的区别是什么:-

$("#btn").click(handler);


上述两种方法都将在
单击事件时将处理程序绑定到元素。什么时候使用哪一个?

从jquery源代码
中可以看到。单击
只是一个帮助函数。在内部,它将调用映射到this.on(name,null,data,fn)
。因此,它比其他任何功能都更方便,在内部,所有这些函数都将调用
.on

额外的。您还可以在不带参数的情况下触发此事件,这是shorthand else在此if语句中所做的。这将在被调用的元素上触发DOM事件,就像用
$button.click()
模拟单击一样,这也是
$button.trigger('click')
的缩写


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

额外的。您还可以在不带参数的情况下触发此事件,这是shorthand else在此if语句中所做的。这将在被调用的元素上触发DOM事件,就像用
$button.click()
模拟单击一样,这也是
$button.trigger('click')
的缩写


.click()方法只是.on(“click”,handler)的简写。有关更多详细信息,您可以查看此链接。

而.click()方法只是.on(“click”,handler)的简写。有关更多详细信息,您可以查看通过jquery本身添加/创建元素时使用的第二个链接。顺便说一句,这对你有用both@Anant那么你的意思是当添加的元素被动态添加时?@Shubham检查给定的链接,你会得到正确的解释第二个是通过jquery本身添加/创建元素时使用的。顺便说一句,这对你有用both@Anant那么你的意思是当添加的元素被动态添加时?@Shubham检查给定的链接,你会得到正确的解释
$("#btn").on('click', handler);
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 );
    };
});