,,
2。将$符的所有权剔除
jQuery.noConflict();
3.bind(),live(),delegate(),on()的区别
1) bind()
.bind()注册的事件直接指向相对应的DOM元素
优点:
跨浏览器
非常方便和快捷地绑定事件
简单的实现方法(.click() .hover() ,etc…)让它用起来很方便
对于简单的ID选择器来说,使用.bind()不仅方便,而且当触发这个事件的时候能够即时响应。
缺点:
这个方法会附加相同的处理程序到每一个匹配到的元素上
对于动态添加的属于匹配到的元素,不会被触发事件的
性能问题,对于处理大量的匹配元素的时候
如果在页面加载前要处理添加事件的话,会影响加载效率的
2) live()
.live()方法使用的是事件委托的概念来执行所谓的“神奇方法”。
优点:
相对于.bind()的循环注册很多次事件处理程序来说,.live()只注册一次事件处理程序
从.bind()更新到.live()的方法对程序更改很少,只需要替换“bind”为”live”
对于动态添加的属于匹配到的元素,也能够“神奇”的执行处理程序
在document元素没有全部加载完之前都能够几乎不花时间地绑定并触发事件
缺点:
此方法在jQuery1.7的时候已经废除,你应该逐步从你的代码中替换掉该方法
链接不能够正常的支持这个方法
这个方法被抛弃是因为它只能够绑定事件处理程序到document上
event.stopPropagation()不再有效了,因为事件已经委托到了document上了
由于事件都是委托到了document上的,所以如果DOM太深的话,会影响到性能的
3) delegate()
.delegate()方法的行为有点类似.live()。但是不是把选择器和事件的信息附加到了document上,而是可以自行选择它要附加的DOM元素,这个技术可以让事件的委托正常工作优点
优点:
可以自由选择附加的选择器和事件信息的位置
链接也可以有效的支持了
jQuery仍然需要循环访问选择器和事件数据来确定匹配,但是因为能够选择这些信息附加的位置,所以通过匹配的量小很多了
由于这种技术使用了事件委托,所以它能很好的动态处理添加到DOM元素
如果你委托事件到了document上,你也可以在document全部准备完之前绑定和调用
缺点:
方法从.bind()更改到.delegate()比较麻烦
如果把选择器和事件数据附加到了document上,仍然需要很多的匹配信息,但是相对于.live()的存储量要小很多了
4)>
优点:
为各种事件绑定方法带来了统一性
简化了jQuery代码库,并删除一个界别的重定向,因为通过调用这个方法实现了 .bind() .live() 和 .delegate()
仍然提供了好用的.delegate()方法,但是也仍然对.bind()方法提供了支持
缺点:
因为调用这个方法的各个形式,会带来一些混乱
总结
使用.bind()方法是很浪费资源的,因为它要匹配选择器中的每一项并且挨个设置相同的事件处理程序
建议停止使用.live()方法,因为它已经被弃用了,由于他有很多的问题
.delegate()方法“很划算”用来处理性能和响应动态添加元素的时候
新的.on()方法主要是可以实现.bind() .live() 甚至 .delegate()的功能
建议使用.on()方法,如果你的项目使用了1.7+的jQuery的话
4.事件对象有很多可用的属性
6。模拟事件
方法一,美元(.box) .click(函数(){console.log (111)}) .trigger(“点击”);使用触发器()可以在打开页面的时候就模拟点击事件
方法二就是美元(.box) .click(函数(){console.log (111)}) .click();直接使用单击()模拟点击事件,当然不局限点击事件,金桥提供了基本上所有事件的模拟事件:
模糊focusin mousedown调整改变focusout mousenter滚动点击keydown mouseleave选择双击鼠标键盘按键mousemove提交错误keyup mouseout卸载集中载荷mouseover
.trigger()和.triggerHandler()的区别
1 . . triggerHandler()方法并不会触发事件的默认行为,而.trigger()会
$(“形式”).trigger(“提交”);//模拟用户执行提交,并跳转到执行页面