
正文
jquery.on,jqueryonload和ready
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
jQuery绑定事件on
1、on()和bind()的函数签名如下:bind(type, [data], fn) on(type,[selector],[data],fn)可以看到2个函数的区别在于:是否支持selector这个参数值。
2、jQuery中用on来绑定事件,常用写法 两种写法哪个更好? $(document).on 将事件委托document, $(#idname).on 将事件绑定到.className元素上。每次document有点击动作,浏览器都会判断当前点击的对象。
3、定义和用法 on() 方法在被选元素及子元素上添加一个或多个事件处理程序。自 jQuery 版本 7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。
4、其实最简单的方法就是直接在标签中写onclick=,但是这样写其实是有点low的,最好的方式还是通过给类名绑定一个click事件。
5、.bind()与.on()的区别:(1)是否支持selector这个参数值。由于javascript的事件冒泡特性,如果在父元素上注册了一个事件处理函数,当子元素上发生这个事件的时候,父元素上的事件处理函数也会被触发。
6、而onclick是js原生的click事件绑定,即使没有加载jQuery库也可以使用。
相关问答
Q1: jquery中on()方法和live()方法的区别
1、bind()方法为每个匹配元素的特定事件绑定事件处理函数。bind()方法的底层逻辑是on()方法。 .bind() 方法是用于往文档上附加行为的主要方式。
2、大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;data:可选;需要传递的参数;function:必需;当绑定事件发生时,需要执行的函数;适用所有版本,但是根据官网解释,自从jquery7版本以后bind()函数推荐用on()来代替。
3、点击div下面的P执行alert;而on是在7之后新增的,是把bind,live,delegate全部合并在一起了,123$(div).on(click,p,function(){ alert(1); })不需要事件委托的时候把P去掉就会变成点击div触发了。
4、这2个方法在早期的jquery版本中比较常见,最新版本的jquery已经使用on取代了他们。区别:bind是在页面加载完成之后只对DOM进行一次绑定 live会在每次事件冒泡过程中都会监听绑定的事件。
Q2: jquery的on绑定点击事件执行两次如何解决
解决办法可以通过事件委托,放过第一次触发,然后冒泡后的再来处理。
如何解决累加绑定:第一种方法是元素点击后删除,然后再动态创建一个元素,再添加点击事件。显然这个方式很麻烦。第二中方法是使用jquery的one()方法,为元素绑定一个一次性的事件处理函数,这个事件处理函数只会被执行一次。
解决方法就是在绑定之前先解绑。这样就可以解决了。jquery中还有很多类似的处理,比如说运行一个动画前先将之前的动画stop()掉。
解决的方法:用jQuery的方式 jQuery专门为此功能提供了一个函数one。这样写就能让click这个事件只执行一次。
关于jquery.on和jqueryonload和ready的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







