jquery实现点击某元素之外触发事件
来源:互联网 发布:苗千网络 编辑:程序博客网 时间:2024/06/08 06:21
前端写脚本绑定某事件已经司空见惯了,突然有个需求需要点击某个元素之外触发一些动作呢?比如,写一个模拟的select下拉,一般都是点击下拉,弹出下拉选项,再点击下拉的某个选项,下拉收起。如果用户点击下拉,然后就不想点下拉选项了,这时用户点击这个下拉之外的任何东西,这个下拉都应该收起。
jq如何实现这个功能呢?其实也不难,大概思路就是,在document上面绑定一个事件,当用户触发document的事件时,判断一下目标元素是什么,然后再执行相应的操作就行了。
CODE:
<script> $(function(){ $(document).bind("click",function(e){ //id为menu的是菜单,id为open的是打开菜单的按钮 if($(e.target).closest("#menu").length == 0 && $(e.target).closest("#open").length == 0){ //点击id为menu之外且id不是不是open,则触发 close(); } }) }) function close(){ //close menu... } function open(){ //open menu... }</script>
closest() 方法
定义和用法
closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。
语法
.closest(selector)
如果给定表示 DOM 元素集合的 jQuery 对象,.closest() 方法允许我们检索 DOM 树中的这些元素以及它们的祖先元素,并用匹配元素构造新的 jquery 对象。
阅读全文
0 0
- jquery实现点击某元素之外触发事件
- jquery实现点击某元素之外触发事件
- Jquery实现点击子元素标签只触发子元素点击事件,不触发父元素点击事件
- jquery 点击 触发上一元素 事件
- JQuery实现点击div里面的元素能触发点击事件,但是不触发外面的div的点击事件
- 点击div区域之外,触发事件
- jquery触发点击事件
- JQuery触发元素事件
- JQuery触发元素事件
- 处理点击select之外的元素来触发select下拉
- jquery多个元素绑定同一事件以及回车事件触发点击事件
- jquery实现点击触发执行不同的事件
- jQuery给一个元素绑定事件前,一次点击会多次触发的问题所在
- jquery 触发a链接点击事件
- jquery 回车触发按钮点击事件
- Jquery控制点击事件的触发顺序
- jQuery程序化触发a标签点击事件
- jquery实现回车键触发事件
- Directx9学习(五)输入
- 空【NOIP2017提高A组模拟8.24】
- ubuntu10.10安装
- console异步还是同步
- JAVA中的Exception
- jquery实现点击某元素之外触发事件
- 前后端分离开发的优缺点
- Guava文件操作
- Canvas能做什么?
- 三方登录友盟 sso授权集成微信、QQ、微博方法,及各个平台注册
- HttpUrlConnection的post请求
- Unity入门操作_ 生命周期函数_018
- 【java面试系列之操作系统】进程和线程、死锁、内存管理方式
- http协议