首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

jQuery 查找on事件绑定元素绑定元素方法

jQuery 查找on事件绑定元素绑定元素方法 遇到问题 今天写了一个JQ插件,结果里面有一点问题.让我很郁闷.问题演示代码如下 $box.on('click', 'img', function(...){ $(this) }); 如上代码,当我点击这个图片时候 $(this) 是指 img ....当然这是正确. 而我需要找到 $box 也就是 img 父级. 如果不是插件的话,我当然可以根据它ID或者CLASS来进行查询.问题是,我是写插件,也就是说,我并不知道它这些信息是什么....解决方法 很多基础东西不理解,就会出现我这样问题.如同事所说,你是还不会爬呢,都学上跑了.因此,踩坑无数啊....解决方法如下: $box.on('click', 'img', function(){ $box.has($(this)) }); 如上,通过 .has 操作,就能找到唯一父级被绑定元素了.

4.5K10

js绑定事件代理

js通过事件代理方式绑定跳转事件,我这里逻辑是把click事件绑定在最外层container上面,如果e.target包含我已经写好class,则执行跳转逻辑。...但是这种方式好像只能是在点击元素上面,也就是最内层元素上面有相应class才能跳转,在外层加同样class不生效,说明是我对于事件代理理解不够深刻,其实事件代理作用就是为了把目标元素事件绑定在外层做代理...jumpUrl class时执行点击事件,又想要外层元素含有class时执行点击事件,修改优化如下: document.querySelector('#container').addEventListener...('click', function (e) { console.log(e.currentTarget) //获得当前绑定监听事件元素, container console.log...注意:内层元素,即点击目标元素必须是点击时真正目标元素,而不是外面一层; currentTarget绑定相应想要点击class时候必须是做代理即做事件监听元素

4.9K20

js获取元素几种形式

通过id获取元素 document.getElementById('div');//获取id为div元素 通过class获取 document.getElementsByClassName('top'...);//获取页面中所有的class为top元素集合 通过标签名获取 document.getElementsByTagName('p');//获取页面中所有的标签为p元素集合 通过name获取 document.getElementsByName...('user');//获取页面中所有的name为user元素集合 注意:通过class,name标签名抓取元素是一个集合,即使该类只有一个符合要求元素目标,也返回是一个集合,因此可以存储变量,通过变量名...[0]获得第一个符合要求标签目标....简单可以将返回的当做一个存储符合数组,通过下标进行找到指定位置. 当然也可以使用数组方法返回,集合目标数. alert(tops.length)可以提示出class为top目标数

25.2K30

jquery获取第几个子元素_js获取元素指定子元素

可以这样理解,页面中元素有相同元素 ,并且里面又包含li元素,那么就取第一个li元素,每个子类集合都要进行判断,直到找出所有符合要求li元素; :last-child:这个也与上面相对了,...An+B所有子节点,比如3n+1返回所处位置为父节点子元素是3倍数加1那个子元素; :even:页面范围内处于偶数位置元素,如:li:even返回全部偶数li元素; :odd:页面范围内处于奇数位置元素...(n):第n个匹配元素(不包括)之后元素(n从0开始),如:ul:gt(2)返回从第3个ul开始所有ul元素(含第三个); :lt(n):第n个匹配元素(不包括)之前元素(n从0开始),如:ul...F所有子元素(F可以为E子类子类,甚至更远); E>F:匹配父元素E下所有标签名为F直接子元素; E+F:匹配所有标签名为F元素,并且有E类型兄弟节点在该F元素之前(E,F紧挨着); E~...C等效于*.C; E#I:匹配id为I所有元素E,#I等效于*#I; E[A]:匹配带有属性A所有元素E; E[A=V]:匹配所有属性A值为V元素E; E[A^=V]:匹配所有元素E,且A属性值是

27K30

vue 点击事件获取当前元素

在开发中我们可能会使用单击事件获取当前元素,这样就需要进行传参: 关键词: $event  在括号中输入这个关键词,然后在方法中就可以使用以下方法去获取你当前所需要使用元素 //当前点击元素...e.target //是你绑定事件元素 e.currentTarget //获得点击元素前一个元素 e.currentTarget.previousElementSibling.innerHTML...//获得点击元素第一个子元素 e.currentTarget.firstElementChild //获得点击元素下一个元素 e.currentTarget.nextElementSibling...//获得点击元素中id为string元素 e.currentTarget.getElementById("string") //获得点击元素string属性 e.currentTarget.getAttributeNode...('string') //获得点击元素父级元素 e.currentTarget.parentElement //获得点击元素前一个元素第一个子元素HTML值 e.currentTarget.previousElementSibling.firstElementChild.innerHTML

1.7K10

【Node.JS事件绑定与触发

往期文章 【Node.JS】写入文件内容 【Node.JS】读取文件内容 目录 简介 绑定事件 on() addListener()  once() 监听事件emit()  传参  删除事件 removeListener...()  removeAllListeners() ---- 简介 node.js事件是使用events模块,通过实例化它里面的EventEmitter类,来绑定和监听事件。...('namea', function () { console.log("坚毅小解同志"); }) 查看绑定事件 const eve = require("events"); //导入模块..."); }) //查看对象属性 里面有绑定事件 console.log(event);  里面有事件具体属性,和事件数量。...{a}同志`); }) //触发事件冰川入参数 event.emit('namea', '小解');  once() once 只会绑定一次性触发事件,触发一次后就会解除绑定

11K40

JS获取事件对象,获取事件源对象(Firefox,IE)

做笔记,以防自己忘记~~ JS获取事件event,不同浏览器有不同做法。 例如IE下,在js函数中,通过window.event就可以获取,不必在函数中添加什么参数。...也可以用Prototype或者JQuery等,它们有他们对事件包装。还是使用JS库比较好,不然就有下边麻烦。...注意获取标记都以大写表示,如"TD","TR","A"等。所以把看过一些抄下来,不记得时候再来看看。...在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象,函数需要使用事件时候,需要在事件发生时把事件作为参数传递给函数,不象在ie...中,事件对象是全局,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象函数开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过

10K50

使用jQuery.data()查看元素绑定事件

最先想到是浏览器面板上面的,可以选中元素,看元素上面的事件绑定。 但浏览器上面看到是结果量,也就是看到是已经丢失了事件元素,但我还是不知道什么时候丢失。...我可以断点取到每个阶段HTMLElement元素状态,但是,这个时候,我却找不到观察其事件绑定情况方法。 谷歌好久,发现JS原生是没法查看事件绑定情况。...(也是这个原因,$.on()可以重复给一个元素同一个事件绑定多个handler,而直接addEventListener则只能绑定一个,后面的会覆盖掉前面的) 扯了这么多,show me the code...: 获取HTMElement元素上面的事件绑定 JavaScript $(HTMLElement).data('events') 1 $(HTMLElement).data('events') 然后...,就会返回这个元素上面绑定所有事件

1.8K00

准确获取事件任意父级元素事件委托)

通常我们都会使用事件源e.target来获取点击元素,从而可以知道我们点击是谁。...需要实现功能是,点击这个盒子区域,输出对应li对应id,下面是这个li对应代码片段,很显然在li内部存在着大量元素,我们需要通过给li元素ul绑定事件,从而实现事件委托,那么我们该如何确定我们点击元素属于哪一个...e.target不能直接获取到我们想要li了,从而导致我们获取不到id无从下手 解决方法 下面我通过另一种方法很好解决了这个问题 在我们事件对象event中,存在着一个方法path,这个方法可以返回事件触发所有父元素...我们先通过e.path获取事件触发对象所有的所有元素,这个方法返回值是一个数组,我们可以通过数组中find方法按照我们需求选择我们想要元素,在下面的代码中,我们先给每一个li添加一个特有的标志属性...,整个方法核心就是通过获取到触发事件元素所有父元素集合,再通过筛选从而获得元素

2.5K30
领券