失去焦点与点击事件冲突
2017-01-14 17:53
323 查看
在自定义select样式情况下,由于焦点事件会在点击事件之前先执行,如果在失去焦点事件设置时间延时,在体验上还是有点差距,所以我提供了另一个思路。
思路:判断鼠标点击坐标是否在自定义select范围内,不在范围内则执行失去焦点逻辑。(使用jquery)
思路:判断鼠标点击坐标是否在自定义select范围内,不在范围内则执行失去焦点逻辑。(使用jquery)
// 模拟select失去焦点事件 $("body").on("click", function(event){ var x = event.clientX; var y = event.clientY; var x1,x2,y1,y2; $(".control-select-wrap").each(function(i){ x1 = $(this)[0].offsetLeft; y1 = $(this)[0].offsetTop; x2 = $(this)[0].offsetLeft + $(this)[0].offsetWidth; y2 = $(this)[0].offsetTop + $(this)[0].offsetHeight;
// 如果不在范围if( x < x1 || x > x2 || y < y1 || y > y2){ } });});
// 自定义select的item按钮点击事件 $(".drop-item").on("click", function(){ });
这里设置了body点击事件,顺序是在其他点击事件后面。
相关文章推荐
- input中blur失去焦点事件与点击事件冲突的解决方法
- listView中setOnItemClickListener()无响应,焦点(点击事件)冲突的解决
- Android中导入Unity项目,界面点击事件失去焦点问题
- Js先触发失去焦点事件再执行点击事件解决方法
- surfaceview在fragment中切换回来后会失去焦点,导致点击事件需要第二次才能生效
- jQuery事件函数-点击、双击、键盘按键、鼠标滑动、失去焦点、显示哪个 DOM 元素触发了事件/返回事件的类型。等
- Android中导入Unity项目,界面点击事件失去焦点问题
- Android中导入Unity项目,界面点击事件失去焦点问题
- ToolStrip失去焦点时,点击第二次才执行事件的解决方法
- 解决Js先触发失去焦点事件再执行点击事件的问题
- 自定义SwipeRefreshLayout 嵌套listview 并解决item点击事件焦点冲突问题
- ListView更新后无法响应点击事件解决方法(失去焦点)
- 开发笔记:解决安卓GestureOverlayView手势和ListView点击事件、文本框获取焦点冲突的问题
- Android中导入Unity项目,界面点击事件失去焦点问题
- js 各种事件 如:点击事件、失去焦点、键盘事件等
- Android中导入Unity项目,界面点击事件失去焦点问题
- Android中导入Unity项目,界面点击事件失去焦点问题
- Android中导入Unity项目,界面点击事件失去焦点问题
- 如何在点击特定数据时,不触发输入框失去焦点事件
- Android中导入Unity项目,界面点击事件失去焦点问题