
正文
jqueryon问题,jqueryon
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
jQuery的on在苹果手机上无效怎么处理
首先,你等确定是不是on的问题,在我看来on似乎没有这个问题。你可以试着整个页面就留一个元素,使用on绑上事件,看看会不会响应,如果会证明不是on的问题,还有就是注意语法。
jquery还有一个解除事件委派的方法:unbind([eventType])。参数是可选的,如果不选,则表示移除节点所有已绑定事件。这里你只需要解除click事件,可以用$(#s1).unbind(click)来处理。
(document).on(click,.class,function(){……});相当于$(.class).live(click,function(){……});js生成的元素绑定事件必须使用live,但新版的jq,已经淘汰了live,可以用on方法代替,但必须注意写法。
需要把代码写在$(function(){ });中 (function(){ (#tables).append();}); (function(){ });的意思是等到所有的DOM元素可用了才执行javascript代码。
(this).removeClass().addClass(on);句话会把类名为i1的元素的类名移除,给他添加类名on,所以$(.i1).click在执行的时候就找不到这个元素了。
相关问答
Q1: jquery中on()方法和live()方法的区别
bind()方法为每个匹配元素的特定事件绑定事件处理函数。bind()方法的底层逻辑是on()方法。 .bind() 方法是用于往文档上附加行为的主要方式。
而on是在7之后新增的,是把bind,live,delegate全部合并在一起了,(div).on(click,p,function(){alert(1);})不需要事件委托的时候把P去掉就会变成点击div触发了。
其中,on 是 jQuery 7 之后引入的,支持事件绑定的全部功能;live 是在 DOM 加载完成后立即执行的,不支持动态添加的元素;delegate 是在事件发生时委托给一个指定的元素来处理事件 。
)差些;bind()支持Jquery所有版本;live()支持jquery8-;delegate()支持jquery2+;on()支持jquery7+。结论:如果项目中引用的jquery版本为低版本,推荐用delegate(),如果是高版本jquery则建议用on()。
live()方法用于为所选元素附加一个或多个事件处理程序。它还指定事件发生时运行的函数。通过 live() 方法所使用的事件处理程序将用于与选择器匹配的当前和未来元素(比如由脚本创建的新元素)。
live在jQuery7中就不再建议使用,在9中就给删除了。在jQuery官方网站上说明了原因,并声称用on方法取代live方法。
Q2: jquery用on绑定事件
1、delegate用于事件委托,也是绑定过JavaScript或者jQuery添加的DOM元素事件。
2、append的字符串中应该是 }); $(.btn).on(click,function(){ console.log(haha); }); //上面绑定的方式也不对。因为页面刚加载时$(.btn)并不包括后来生成的button。
3、您好:是可以的。之前老版本一般用live()方法,现在给动态元素绑定事件,可以用on代替。知识扩展:jQuery on()方法是官方推荐的绑定事件的一个方法。
4、on() 方法在被选元素及子元素上添加一个或多个事件处理程序。自 jQuery 版本 7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。
关于jqueryon问题和jqueryon的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






