慕无忌1623718
没啥区别,个人感觉是喜好写法问题,我刚测试了一下,没感觉有啥区别D1:$("#btn").bind("click",function(){alert("test1");});$("#btn").bind("click",function(){alert("test2");});D2:$("#btn").click(function(){alert("test1");});$("#btn").click(function(){alert("test2");});这两个执行效果一样,都会依次弹出来两个对话框我刚才又研究了一个jquery的源码,诸如click(),dblclick(),mousemove()这样的简单写法的事件绑定的都是调用的this.on( name, null, data, fn ) 这个方法进行事件绑定的,而bind()也同样是调用的这个bind: function( types, data, fn ) {return this.on( types, null, data, fn );},所以说 click()只是简化写法,而且jquery的文档里也有关于这样的说明---------------------------- 以下的引用jquery文档的说明 -----------------------------------------.bind() 方法是用于往文档上附加行为的主要方式。所有JavaScript事件对象,比如focus, mouseover, 和 resize,都是可以作为type参数传递进来的。jQuery还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简化.bind('click')。一共有以下这些:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error 。