首页
学习
活动
专区
工具
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.9K00

    jQuery的事件模型

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

    95480

    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.8K20

    jQuery:详解jQuery中的事件(一)

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

    1.7K20

    jQuery:详解jQuery中的事件(二)

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

    2.2K30

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

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

    1.7K20

    jquery操作元素的位置

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

    3.4K60

    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

    input元素的oninput事件和onchange事件

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

    3.5K10

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

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

    10.7K30

    JQuery的属性操作及事件

    (不会更改DOM结构),但是该属性是存在的,且可以获取输出②attr():在元素本身是可以看到设置的属性,也可以获取输出二、遍历操作1、区别(1)隐式迭代:给同一类元素做同样的操作(2)遍历操作:给同一类元素做不同的事情...(获取,设置元素相对于偏离文档的位置)jQuery 事件 | 菜鸟教程)1、单个事件注册element.事件(fuction(){})(1).hover:模仿鼠标悬停事件(2)参数        ①函数1:鼠标移上去触发什么事件        ...mouseenter:function(){ console.log('成功'); } }) $('button').off()(2)移除某一个事件...('仅一次');})5、自动触发事件$('button').click()五、插件jQuery插件库-收集最全最新最好的jQuery插件小伙伴可以在这个网站找喜欢的作品,下载压缩包后,可以直接看效果,而且都有源码的哦

    1.7K70

    JQuery 对控件的事件操作

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

    1.8K60
    领券