a绑定事件(on()有什么区别?)

最近有很多朋友提到a绑定事件(on()有什么区别?)这个事件,那么小编整理了一下有关a绑定事件(on()有什么区别?),供大家参考。

怎样为超链接同时绑定单击和双击事件?

超链接使用锚‘‘a’’标签实现,通常不需要单击和双击事件,而是使用“href”属性实现导航功能。本例的目的是学习如何为超链接绑定单击和双击事件。

【实例代码】htmlxmlns=/title/headbodyscriptvardblNum=0;functionclk(cnum){dblNum=cnum;//获取参数if(dblNum==1)window.setTimeout(if(dblNum!=2)window.alert(‘单击‘);dblNum=0;,500);//隔500毫秒后显示if(dblNum==2)alert(双击);//显示双击returnfalse;//不执行任何操作}/scriptaonDblClick=returnclk(2);onClick=returnclk(1);双击/a/body/html【运行效果】【难点剖析】本例没有特殊的功能,只是为一个控件同时添加单击和双击事件:注意在单击事件中,使用了一个定时器以延缓单击时的提示功能。

a绑定事件(on()有什么区别?)

on()有什么区别?

这样说吧,bind()与live()的区别在于live()支持为动态生成的元素绑定事件,比如你的元素是由其他js后加载的那么应该用live()。后期版本live()过时了改用delegate(),这些官方release里有写到。

最后以上三个方法内部最终都是调用on()完成事件的绑定,所以没什么特别的需求的话绑事件就用on()就ok。

如何绑定'touchstart'和'点击'事件,但不能两者反应

1.结合两者,但做一个标志,这样的函数只触发一次,每100毫秒左右。varflag=false;<br/>$thing.bind(‘touchstartclick‘,function(){<br/>if(!flag){<br/>flag=true;<br/>setTimeout(function(){flag=false;},100);<br/>//dosomething<br/>}<br/><br/>returnfalse<br/>});<br/><br/>2.你可以尝试这样的:varclickEventType=((document.ontouchstart!==null)?‘click‘:‘touchstart‘);<br/>$(“#mylink“).bind(clickEventType,myClickHandler);<br/><br/>3.这是我“创造”,并拿出GhostClick和FastClick修复。试试在你自己的,并知道它的工作适合你。

$(document).on(‘touchstartclick‘,‘.myBtn‘function(event){<br/>event.stopPropagation();<br/>event.preventDefault();<br/>if(event.handled!==true){<br/><br/>//Doyourmagic<br/><br/>event.handled=true;<br/>}else{<br/>returnfalse;<br/>}<br/>});<br/><br/>4.通常这个工程,以及:$(‘#buttonId‘).on(‘touchstartclick‘,function(e){<br/>e.stopPropagation();e.preventDefault();<br/>//yourcodehere<br/><br/>});<br/><br/>5.余由以下方法。易Peasy...$(this).bind(‘touchstartclick‘,function(){<br/>e.preventDefault();<br/>//doyourstuffhere<br/>});<br/><br/>6.检查快速按键和点击CHOST从谷歌<br/><br/>7.一般来说,你不想混了默认的触摸和非触摸(点击)API.a旦你进入触摸的世界更容易只与触摸相关的功能处理。下面是伪代码,会做你想要它。如果你在的TouchMove事件连接和跟踪的位置,您可以添加在doTouchLogic功能更多的项目来检测手势和诸如此类的东西。

vartouchStartTime;<br/>vartouchStartLocation;<br/>vartouchEndTime;<br/>vartouchEndLocation;<br/><br/>$thing.bind(‘touchstart‘),funcion(){<br/>vard=newDate();<br/>touchStartTime=d.getTime();<br/>touchStartLocation=mouse.location(x,y);<br/>});<br/><br/>$thing.bind(‘touchend‘),funcion(){<br/>vard=newDate();<br/>touchEndTime=d.getTime();<br/>touchEndLocation=mouse.location(x,y);<br/>doTouchLogic();<br/>});<br/><br/>functiondoTouchLogic(){<br/>vardistance=touchEndLocation-touchStartLocation;<br/>varduration=touchEndTime-touchStartTime;<br/><br/>if(duration100ms&&distance10px){<br/>//Personflickedtheirfinger<br/>}<br/>if(duration>100ms&&distance>10px){<br/>//Persondraggedtheirfinger<br/>}<br/>}<br/><br/>8.另一个更好的维护。然而,该技术也将做event.stopPropagation()。点击是没有抓到任何其他的点击为100ms。varclickObject={<br/>flag:false,<br/>isAlreadyClicked:function(){<br/>varwasClicked=clickObject.flag;<br/>clickObject.flag=true;<br/>setTimeout(function(){clickObject.flag=false;},100);<br/>returnwasClicked;<br/>}<br/>};<br/><br/>$(“#myButton“).bind(“clicktouchstart“,function(event){<br/>if(!clickObject.isAlreadyClicked()){<br/>...<br/>}<br/>}<br/><br/>9.我写了一个jQuery插件,它提供了一个“touchclick”事件,你可以听。

这需要避免被解雇两次都支持双方的点击和touchstart事件时,事件的照顾。<br/><br/>10.只为目的,这里就是我的最快/最敏感的点击桌面/TAP解决方案,我能想到的做:我换成jQuery的on功能与修改一个,只要浏览器支持触摸事件,全部换成我的点击事件与touchstart。$.fn.extend({_on:(function(){return$.fn.on;})()});<br/>$.fn.extend({<br/>on:(function(){<br/>varisTouchSupported=‘ontouchstart‘inwindow||window.DocumentTouch&&documentinstanceofDocumentTouch;<br/>returnfunction(types,selector,data,fn,one){<br/>if(typeoftypes==‘string‘&&isTouchSupported&&!(types.match(/touch/gi)))types=types.replace(/click/gi,‘touchstart‘);<br/>returnthis._on(types,selector,data,fn);<br/>};<br/>}()),<br/>});<br/><br/>用法比将有确切像以前一样:$(‘#my-button‘).on(‘click‘,function(){/*...*/});<br/><br/>但touchstart时可用,点击时不会。需要的任何种类的任何延误:D<br/><br/>11.我也工作在Android/iPad的Web应用程序,它看来,如果“会连续”,就足以“(无需touchstart)。

通过禁用touchstart,单击();从jQuery的。它的实际工作还没有被touchstart超载。最后,您可以BINB生活。(“touchstart”功能(E){e.stopPropagation();});要求touchstart事件停止传播,客厅点击()来获取触发。

它的工作<br/><br/>12.有很多事情试图解决这一问题时要考虑的。大多数解决方案要么打破滚动或不办理鬼单击事件正常。对于一个完整的解决方案,请参阅注意:你不能处理好鬼click事件每个基础。延迟的点击是通过屏幕位置发射,所以如果你的触摸事件修改页面的方式,单击事件将被发送到该页面的新版本。

a绑定事件(on()有什么区别?)

<br/><br/>13.相反,你一个计数器:varcount=0;<br/>$thing.bind(‘touchstartclick‘,function(){<br/>count;<br/>if(count%2==0){//count2%givestheremainingcountswhendevidedby2<br/>//dosomething<br/>}<br/><br/>returnfalse<br/>});<br/><br/>14.它可以有效地分配给该事件‘touchstartmousedown‘或‘touchendmouseup‘以避免不希望的副作用click。<br/><br/>15.考虑一个事实,即点击将始终遵循一个触摸事件的优势,这里是我做的,无需或全局标志摆脱“鬼点击”的。$(‘#buttonId‘).on(‘touchstartclick‘,function(event){<br/>if($(this).data(“already“)){<br/>$(this).data(“already“,false);<br/>returnfalse;<br/>}elseif(event.type==“touchstart“){<br/>$(this).data(“already“,true);<br/>}<br/>//yourcodehere<br/>});<br/><br/>基本上,每当ontouchstart上一个标志一组并随后删除(忽略)事件触发,当点击

on()有什么区别?

后期live()超时了,用delegate()表示,一般都会用on()。

以上就是关于a绑定事件(on()有什么区别?)这个事件的所有内容了,想要了解更多a绑定事件(on()有什么区别?)或者其他想法,可以在评论区留言。。

  • 随机文章

  • 热门文章

  • 热评文章

延伸阅读:

标签:

上一篇:audio事件(前几天玩DNF时出现:audiocreationfailed.pleasereinstallsound)

下一篇:美国的疯狂印钞行为,导致全球通货膨胀,中国开始宏观调控应对

发表留言

*

*

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。