jqurey click和blur执行时间冲突】的更多相关文章

参考资料:http://stackoverflow.com/questions/10652852/jquery-fire-click-before-blur-event…
场景:例如做一个模仿百度搜索的搜索框,输入文字下面会有匹配项,当点击下拉项中的值时,就将值添加到搜索框中同时隐藏下拉框,点击其他地方就直接隐藏下拉框,这时所需要的事件分别为 下拉框事件onclick,输入框事件onblur,但是实际会出现想选中下拉框却先触发了onblur事件导致onclick无法执行.原因是因为JS是单线程,同一时间只能处理一个事件,且blur执行顺序优先click. 解决方案:将onclick改为onmousedown即可.…
最近做了一个查询小功能,input输入框输入文字后,自动列出几条查询结果,可以键盘上下键或鼠标进行查询结果选择,并且点击输入框其他地方要隐藏这个列出的结果. 但比较头疼的是input上添加blur事件和查询提示结果click事件发生冲突,点击查询结果时,会首先触发input的blur事件,导致将查询提示结果隐藏选择不了, 解决办法: 给blur失去焦点事件添加延迟事件,让blur事件在click事件后执行. $(".query_tools").blur(function(event){…
昨天在前端群里讨论到一个问题,大家平时做表单验证的时候一般都有个input框和删除按钮,然后习惯性在失去焦点的时候去验证输入的内容是否正确,做验证,发请求等等.这个时候,那个点击删除按钮往往也就触发了input的失去焦点事件,这个该咋解决呢,经过研究有以下2种方法: 1. 给失去焦点的时间加上延迟时间,让blur时间在click事件后执行,这个方法固然能够解决问题,但是本人并不是很推荐,因为影响性能,不到最后不用这个方法: 2. <!doctype html> <html lang=&q…
想实现日期框easyui-datebox手动输入值,手动输入失去焦点判断输入值是否合法 例如<input id="txtDate" type="text" class="easyui-datebox" />  直接$("#txtDate").blur(){}没有反应.因为加载日期控件dom的时候多了很多其他控件所以定位具体控件的时候有点问题. 经自己测试和大神解答,发现有两种方法,直接上代码(简单测试例,没有写判断…
需求:点击需求:点击添加标签,出来input框,内容输入完成后点击enter键和blur时都可以执行提交标签的效果,提交时对内容进行判断,执行完成后清除input内的内容.如下图 问题:内容输入完成后blur事件执行没有问题,但是keypress时会先执行keypress然后在执行blur,因前一个事件执行后input框情况,blur执行时会告知用户未输入内容,导致体验极差.解决:好吧,写到这里我发现我错了,因为始终都会执行blur函数,我直接只写一个blur事件就好了啊,啊啊啊,痛苦,想了那么…
onfocus:获取焦点,点击时,按着不放 onclick:点击松开之后,未点击其他处 onblur:点击松开之后,又点击其他处 display:block,none,inline block:单独占据一行,与前后不在同一行 block:块对象的默认值.对象之后添加新行.  none:隐藏对象.隐藏的对象不占据物理空间. inline:内联对象的默认值.对象后不添加行. display:none不占据页面空间 visibility:hidden 占据页面空间 type="hidden"…
缘由:今天在做下拉框选择时,遇到click和blur冲突问题:具体现象如下 1.intput框获取焦点(focus事件)时显示隐藏的下拉框,失去焦点(blur事件)则隐藏下拉框 2.点击选择(click事件)下拉框内容时获取值,然后intput失去焦点(blur事件)隐藏下拉框 3.发现click事件无效,blur事件会优先于click事件执行,导致click事件无效 解决:使用mousedown替换click使点击选择事件优先执行 mousedown事件:当鼠标指针移动到元素上方,并按下鼠标按…
鼠标事件,一般用button来区分鼠标的按键(DOM3标准规定: click事件只能监听左键, 只能通过mousedown和mouseup来判断鼠标键): 1.鼠标左键 button = 0 2.鼠标右键 button = 2 3.鼠标滑轮 button = 1 div.onmousedown = function (e) { var event = e || window.event; if(event.button == 2){ console.log('right'); }else if(…
直接绑定ul的click事件  代码如下 复制代码 $("ul").click(function(e) 例子  代码如下 复制代码 $(function(){ //$("ul").on('click',this,function(e){ $("ul").click(function(e){  $target = $(e.target);  if ($target.is("h3")) {   alert("h3&quo…