以下两者有何不同:
$("#btn").click(handler);和
$("#btn").on('click', handler);以上两种方法都会将一个处理程序绑定到click事件上的元素。什么时候使用哪一个?
发布于 2017-02-16 18:31:18
因此,正如您从jquery源代码中看到的,.click只是一个辅助函数。在内部,它将调用映射到this.on( name, null, data, fn )。所以它比其他任何东西都更方便,在内部所有这些函数都将调用.on。
额外的。您也可以不使用参数来触发此事件,这是if语句中的速记操作。这将在被调用的元素上触发DOM事件,就像用$button.click()模拟单击一样,这也是$button.trigger('click')的缩写。
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 );
};
});发布于 2017-02-16 18:32:54
.click()方法只是单击(“.on”,.For)处理程序的缩写。有关更多详细信息,请参阅此链接https://api.jquery.com/click/
https://stackoverflow.com/questions/42271067
复制相似问题