首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

jQuery 查找on事件绑定元素被绑定元素方法 遇到问题 今天写了一个JQ插件,结果里面有一点问题.让我很郁闷.问题演示代码如下 $box.on('click', 'img', function(...当然这是正确. 而我需要找到 $box 也就是 img 父级. 如果不是插件的话,我当然可以根据它ID或者CLASS来进行查询.问题是,我是写插件,也就是说,我并不知道它这些信息是什么....当然,如果box在DOM中只存在一个的话,那么也没有问题,直接通过box就可以找到了. 问题是 box 也并不是唯一.所以,我应该怎么知道这个 box 到底是 哪个 有点晕.没关系....在群里问了一群人,貌似没有解决问题.无奈,去一个大牛群里问人(平时不好意思问别人,毕竟大家都很忙)....解决方法如下: $box.on('click', 'img', function(){ $box.has($(this)) }); 如上,通过 .has 操作,就能找到唯一父级被绑定元素了.

4.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

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

最近遇到一个诡异问题,发现我添加在一个HTMLElement片段上面的事件绑定,会在后续流程中,无故丢失了。但是,我不知道它是什么时候丢失。 所以我需要要一步步逼近定位到问题。...最先想到是浏览器面板上面的,可以选中元素,看元素上面的事件绑定。 但浏览器上面看到是结果量,也就是看到是已经丢失了事件元素,但我还是不知道什么时候丢失。...还好,我们都是用jQuery,用$.on()。 而jQuery自身事件绑定,额外添加了一层事件数组。...(也是这个原因,$.on()可以重复给一个元素一个事件绑定多个handler,而直接addEventListener则只能绑定一个,后面的会覆盖掉前面的) 扯了这么多,show me the code...,就会返回这个元素上面绑定所有事件

1.8K00

jQuery事件模型

前几天自己着重读了jQuery1.11.1源码,又结合了之前对DE事件模型分析,最后也实现一个简陋事件模型。 jQuery事件系统离不开jQuery缓存系统。...jQuery第一代缓存是直接将数据存储在 缓存体 这个数据结构中,但是需要在元素上添加一个uuid来作为标示, 标记在缓存体中位置。...所以jQuery第二代缓存系统应运而生,这次不对元素进行添加属性,而是判断元素valueOf()方法返回值,如果没有返回值是 对象,则说明缓存体中并没有该元素缓存数据,进而使用ECMA5Object.defineProperty...简单讲述了缓存系统,现在着重讲解下jQuery事件系统: 主要使用了几个数据结构,即元素缓存体,Event构造函数,和Handler构造函数。   ...最后将该handlerObj存入该元素对应缓存体中, 并用addEvent绑定事件。   使用unbind移除回调也比较简单,无非是移除缓存,移除回调。

93180

jquery事件&动画

一、事件 在1.7之前版本中jQuery处理事件有多个方法, (google 搜索: jquery live bind degelate)作用各不相同,后来统一使用on/off方法 1、.on( events...click", "click.name1", 或者 ".myname" 参数2selector:一个选择器字符串,用于过滤和选中能触发事件后代元素 参数3data:当一个事件被触发时,要传递给事件处理函数...所匹配元素 绑定事件类型对应处理程序,个人理解是用代码触发本应该行动click触发事件处理函数 $('#foo').on('click', function() { console.log...] [, easing ] [, complete ] ) 通过淡出方式隐藏匹配元素 6、.slideDown( [duration ] [, easing ] [, complete ] ) 用下滑动画显示一个匹配元素...] [, complete ] ) 用滑动动画显示或隐藏一个匹配元素 举个例子 9、动画序列 动画执行是异步操作,比如以下代码不会等到show动画4000ms完成后,再输出'hahh'

1.7K20

jQuery:详解jQuery事件(一)

当文档或者它某些元素发生某些变化或操作时,浏览器就会自动生成一个事件。当然使用传统JavaScript也能完成这些交互,但是jQuery增加兵扩展了基本事件处理机制。...).ready()方法注册事件处理程序,在DOM完全就绪时就可以被调用,也即此时网页所有元素jQuery都是可以访问,但是并不是这些元素关联文件都已经下载完毕。   ...根据上述描述,显然使用jQuery$(docum).ready()方法时会出现一个问题。由于在该方法内注册事件,只要DOM就绪就会被执行,因此可能此时元素关联文件未下载晚。...要解决这个问题,可以使用jQuery一个关于页面加载方法——load()方法。load()方法会在元素onload事件中绑定一个处理函数。...明天继续完成jQuery事件下半部分,包括内容有合成事件事件冒泡、移除事件等内容。

1.6K20

jQuery:详解jQuery事件(二)

上一篇讲到jQuery事件,深入学习了加载DOM和事件绑定相关知识,这篇主要深入讨论jQuery事件合成事件事件冒泡和事件移除等内容。   ...:在页面上可以有多个事件,也可以多个元素相应同一个事件,就像上面介绍那两对事件一样。...再比如,假设网页上有两个元素一个元素A嵌套在另一个元素B中,并且都被绑定了click事件,同时body元素上也绑定了click事件。...5、移除事件:在绑定事件过程中,不仅可以为同一个元素绑定多个事件,也可以为多个元素绑定同一个事件。在此就不举例说明了。   ...如果传入了第二个参数,则只有这个特定事件处理函数会被删除。这正是移除元素一个事件方法。

2.2K30

jquery操作元素位置

.offset()   在匹配元素中,获取第一个元素的当前坐标,或设置每一个元素坐标,坐标相对于文档。   .offset() 这个不接受任何参数。     ...)     coordinates 一个包含top 和 left 属性对象,用整数指明元素新顶部和左边坐标。   ...+ position.left + ", top: " + position.top ); .scrollLeft()   获取匹配元素集合中第一个元素的当前水平滚动条位置或设置每个匹配元素水平滚动条距离....scrollLeft(value)     设置每一个匹配元素水平滚动条距离。   ...$("div.demo").scrollLeft(300); .scrollTop()   获取匹配元素集合中第一个元素的当前垂直滚动条位置或设置每个匹配元素垂直滚动条距离。

3.3K60

jquery中动态新增元素节点无法触发事件解决办法

在使用jquery中动态新增元素节点时会发现添加事件是无法触发,我们下面就为各位来详细介绍此问题解决办法.   ...比如做一个ajax读取留言列表时候,每条留言后面有个回复按钮,class为“reply”,如果你用是$(".reply").click(function(){ //do something... }...其实最简单方法就是直接在标签中写onclick="",但是这样写其实是有点low,最好方式还是通过给名绑定一个click事件。...解决jquery中动态新增元素节点无法触发事件问题有两种解决方法,如下: 方法一:使用live   live()函数会给被选元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行函数。...通过live()函数适用于匹配选择器的当前及未来元素。比如,通过脚本动态创建元素

1.7K20

jQuery中不同元素作用

删除元素 remove() - 删除被选元素(及其子元素) $("#div1").remove(); empty() - 从被选元素中删除子元素 获取并设置 CSS addClass() - 向被选元素添加一个或多个...$("button").click(function(){ $("#div1").addClass("important blue"); }); removeClass() - 从被选元素删除一个或多个...outerWidth() outerHeight() jQuery 遍历 jQuery 遍历,意为“移动”,用于根据其相对于其他元素关系来“查找”(或选取)HTML 元素。...向下遍历 DOM 树 children()- 返回被选元素所有直接子元素。 find()- 返回被选元素后代元素,一路向下直到最后一个后代。...noConflict() 方法 jQuery 使用 符号作为jQuery简写。如果其他JavaScript框架也使用 符号作为简写怎么办?

1.7K00

使用 Python 删除大于特定列表元素

在本文中,我们将学习如何从 Python 中列表中删除大于特定元素。...函数(从列表中删除元素第一次出现) 算法(步骤) 以下是执行所需任务要遵循算法/步骤。...− 创建一个变量来存储输入列表。 创建另一个变量来存储另一个输入值。 使用 for 循环循环访问输入列表中每个元素。 使用 if 条件语句检查当前元素是否大于指定输入值。...但是,它们仅限于单一表达方式。与常规函数一样,它们可以接受多个参数。 语法 lambda arguments: expression 此函数接受任意数量输入,但计算并返回一个表达式。...− 使用 lambda 函数检查可迭代对象每个元素。 使用 filter() 函数过滤所有值小于给定输入值元素

10.6K30

input元素oninput事件和onchange事件

input元素oninput事件和onchange事件 框架用多了,感觉原生有点弱化了,不说了,是时候巩固一波了 ^ _ ^ 1、input元素上绑定事件三种方式: 第一种:直接在元素标签上添加oninput...) { // 处理事件代码 } 第二种:获取input元素,然后在元素对象上添加oninput属性,属性值为函数,函数内部为处理事件函数调用 <input type="text" id="...} 第三种:获取input<em>元素</em>,然后在<em>元素</em>上利用<em>事件</em>监听添加input<em>事件</em> var inputEle = document.querySelector...2、input<em>元素</em><em>的</em>oninput<em>事件</em>和onchange<em>事件</em><em>的</em>区别 oninput<em>事件</em>是在输入框中输入时就会触发 onchange<em>事件</em>是在输入框输入完内容后,输入框失焦后触发 onchange<em>事件</em>兼容性好...,主流浏览器都支持 oninput<em>事件</em>IE9以下不支持,其余主流浏览器都支持,针对IE9以下<em>的</em>可以使用onpropertychange<em>事件</em>来替代 参考文献: [1] oninput <em>事件</em> [2] input

2.9K10

JQuery 对控件事件操作

JQuery是非常棒js库,有丰富UI库和插件,不过我钟爱他是他选择器,感觉其他功能有时跟后台人员距离很远,所以一般我也只使用一下他选择器。...click有2个事件的话,你还可以使用unbind("click", fnName)来删除特定函数绑定。...为什么有这个取消特定函数方法呢,我们来看下例子,我们会发现,javascript事件,跟C#事件如出一辙,事件绑定是叠加(+=) 而不是覆盖。...我这里取消了绑定,又删除了特定绑定,为什么还会执行Eat呢? 其中原由要看jQuery库了,我估计它只删除了通过JQuery绑定那些事件了,呵呵。 那这时候我们该如何呢?...好在jQuery有很多方法,其中一个就是attr,他是对Dom元素属性进行操作,我们利用attr来消除input上click事件

1.7K60
领券