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

如何实现动态添加元素添加点击事件

在页面开发过程中常常遇到需要动态添加元素,然后给这一元素绑定相关事件情况,这种情况下一般需要给元素加上相关属性,然后写这些元素事件函数即可。动态添加元素怎么绑定事件呢?...原生JavaScript 原生JavaScript主要有2种实现方式,第一种是在动态添加html代码中添加oclick事件,然后传递一个唯一参数来判断点击是哪个,然后做相应操作。...第二种是通过事件委托原理进行处理,事件委托将一个 事件监听器实际上绑定整个容器,然后每个列表项被点击就可以访问,这样效率更高。...该事件附加到staticAncestors应处理元素静态父级 ( )。 每次在此元素或后代元素之一上触发事件时,都会触发此 jQuery 处理程序。...,dosomething您会将事件绑定已经存在父级(这是这里问题核心,您需要绑定存在东西,不要绑定动态内容),这可以(也是最简单选项)是document.

3.7K20

从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件

先说结论:通过调用事件方式和 bind 方式只能绑定之前存在元素,后添加元素不能绑定事件;而 delegate 和 on 方式绑定元素方式可以。...1、bind 解绑事件 语法: // 解绑单个或多个事件 绑定事件元素.unbind("事件名1 事件名2 ..."); // 解绑所有的事件 绑定事件元素.unbind(); PS:unbind...3、on 解绑事件 语法: // 父元素和子元素所有事件都会解绑 父元素.off(); // 父元素和子元素单个或多个事件解绑 父元素.off("事件1 事件2 ..."); // 子元素所有事件解绑...父元素.off("", "子元素"); // 子元素单个或多个事件解绑 父元素.off("事件1 事件2...", "子元素"); // 父元素中所有的子元素所有事件解绑 父元素.off("", "**"); // 父元素中所有的子元素单个或多个事件解绑 父元素.off("事件1 事件2 ...

70040

从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件

先说结论:通过调用事件方式和 bind 方式只能绑定之前存在元素,后添加元素不能绑定事件;而 delegate 和 on 方式绑定元素方式可以。...1、bind 解绑事件 语法: // 解绑单个或多个事件 绑定事件元素.unbind("事件名1 事件名2 ..."); // 解绑所有的事件 绑定事件元素.unbind(); PS:unbind...3、on 解绑事件 语法: // 父元素和子元素所有事件都会解绑 父元素.off(); // 父元素和子元素单个或多个事件解绑 父元素.off("事件1 事件2 ..."); // 子元素所有事件解绑...父元素.off("", "子元素"); // 子元素单个或多个事件解绑 父元素.off("事件1 事件2...", "子元素"); // 父元素中所有的子元素所有事件解绑 父元素.off("", "**"); // 父元素中所有的子元素单个或多个事件解绑 父元素.off("事件1 事件2 ...

64620

关于jQuery用bind动态绑定事件无效处理

最近在进行页面开发,在做页面特效时候,需要给一个动态加载按钮赋予一个事件 于是不假思索 用$(obj).bind(); 来绑定事件 。...但是这样存在一个问题: bind确实能绑定事件,但是那是相对于固定html标签来说 当页面内容属于动态加载时候,bind事件就存在一个bug, 只能bind一次,当你第二次触发事件时候就没用了...例如: 我给标签赋予一个click , 标签包括内容都是从后台数据读取然后动态加载 。...后面研究发现,jQuery还有个绑定事件方法:delegate(); 用法如下: $(".sentnum-box").delegate(".a-add-ordergoods","click",function...(){ //js数据代码 }); 这样就能实现对动态数据绑定事件,并永不失效

1.3K20

「1 分钟学 DOM 基础操作」添加和移除元素样式、添加元素内、添加和移除事件、计算鼠标相对元素位置

一、添加或移除样式 1、添加相关样式至对应 DOM 元素 注意:如果添加多个样式至 DOM 元素,IE11 不兼容。...元素中移除样式 注意:同样在DOM元素中移除多个样式,IE11 不兼容。...中指定样式 ele.classList.toggle('class-name'); 二、将元素添加至指定DOM元素末尾 将 ele 元素添加至 target 元素末尾 target.appendChild...(ele); 三、添加和移除事件 1、使用 ON 属性添加事件(不推荐) 你可以在 dom 元素使用 on{eventName} 属性,eventName 代表事件名,代码如下: ele.onclick...我们将事件名称当做函数参数传递给事件绑定函数。

1.6K30

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

在使用jquery动态新增元素节点时会发现添加事件是无法触发,我们下面就为各位来详细介绍此问题解决办法.   ...其实最简单方法就是直接在标签中写onclick="",但是这样写其实是有点low,最好方式还是通过给类名绑定一个click事件。...解决jquery动态新增元素节点无法触发事件问题有两种解决方法,如下: 方法一:使用live   live()函数会给被选元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行函数。...通过live()函数适用于匹配选择器的当前及未来元素。比如,通过脚本动态创建元素。...实现如下: $('.liLabel').live('click', function(){ alert('OK'); }); 方法二:使用on   可以通过on方法绑定事件,可以绑定父级或者

1.7K20

Js - JQ事件委托( 适用于给动态生成脚本元素添加事件

所以一开始事件找不到“接头人”就没有执行。 扫噶,定位问题,就好解决了。 之所以整理成随笔,是因为我之前没遇到过这个问题,听过事件委托机制,但是根本没研究过不知道适用于什么样bug场景。...,是通过获取元素类名被点击后执行对应方法,但是研发套完模板,他会把所有的结构先清空,导致jq根本找不到那个元素,所以事件就不得执行了。...正规点说:JS异步加载,JQ事件不被执行解决方法(百度标题,hah) jquery动态新增元素节点无法触发事件问题(同上) 解决方法: ? ?...值得注意是:亲测此方法无效,可能是我用jq版本太高了,1.9多,已经不支持这个方法了 第二个方法: ? 但是缺点是:给一个元素添加多个事件委托机制时,他就挂了。  王者方法:on ?...//模拟多个事件!

4.9K50

02-老马jQuery教程-jQuery事件处理

jQuery简单绑定事件方式,可以让我绑定多个事件处理程序跟DOM2级绑定事件方式一样....在绑定事件之前,一定要确保页面中DOM元素已经就绪。如果没有就绪或者后面动态添加DOM元素则不会动态更新事件处理程序。 参数: type: 含有一个或多个事件类型字符串,由空格分隔多个事件。...'); 2.4 事件委托绑定 语法: $dom.delegate(selector,[type],[data],fn) 说明:指定元素(属于被选元素元素添加一个或多个事件处理程序,...on()方法绑定事件处理程序当前选定jQuery对象中元素。on汇总了bind和live两种绑定事件方式。可以支持一般bind方法或者委托方法。...// live : 对 动态创建dom元素绑定事件。 // delegate : 事件委托绑定事件

6.4K00

02-老马jQuery教程-jQuery事件处理

jQuery简单绑定事件方式,可以让我绑定多个事件处理程序跟DOM2级绑定事件方式一样....在绑定事件之前,一定要确保页面中DOM元素已经就绪。如果没有就绪或者后面动态添加DOM元素则不会动态更新事件处理程序。 参数: type: 含有一个或多个事件类型字符串,由空格分隔多个事件。...'); 2.4 事件委托绑定 语法: $dom.delegate(selector,[type],[data],fn) 说明:指定元素(属于被选元素元素添加一个或多个事件处理程序,...on()方法绑定事件处理程序当前选定jQuery对象中元素。on汇总了bind和live两种绑定事件方式。可以支持一般bind方法或者委托方法。...on()方法绑定事件处理程序当前选定jQuery对象中元素。on汇总了bind和live两种绑定事件方式。可以支持一般bind方法或者委托方法。

2.7K80

jQuery中on()、bind()、live()、delegate()之间区别

及其以上版本;jquery1.7版本出现之后用于替代bind(),live()绑定事件方式; event 必需项;添加元素一个或多个事件,例如 click,dblclick等; 单事件处理:例如...它会绑定事件所有的选出来元素上 它不会绑定在它执行完后动态添加那些元素上 当元素很多时,会出现效率问题 当页面加载完时候,你才可以进行bind(),所以可能产生效率问题 2 .live()...更适合列表类型绑定document DOM节点上。 一旦事件冒泡document上,jQuery将会查找selector/event metadata,然后决定那个handler应该被调用。...优点 这里仅有一次事件绑定绑定document上而不像.bind()那样给所有的元素挨个绑定 那些动态添加elemtns依然可以触发那些早先绑定事件,因为事件真正绑定是在document上...data来决定那个子元素来匹配,但是因为你可以决定放在那个根元素上,所以可以有效减小你所要查找元素 可以用在动态添加元素上 缺点 需要查找那个那个元素上发生了那个事件了,尽管比document少很多了

1.2K30

JavaScript 事件委托 以及jQuery事件委托支持

另外,如果在实际应用中,很有可能同过js在 div1下动态生成p 元素,这时候,我们相应地还要添加事件处理函数,像这种动态添加动作很有可能分散在我们 应用多个角落,这样动态添加处理函数将是一个非常蛋疼事儿...,就可以轻松搞定P 元素事件处理函数绑定了,动态添加元素时候,不需要再手动地绑定处理函数了。...data:   传递函数额外数据   fn:       当事件发生时运行函数 概述:          指定元素(属于被选元素元素添加一个或多个事件处理程序,并规定当这些事件发生时运行函数...fn   : 相应处理函数 描述:jQuery 给所有匹配元素附加一个事件处理函数,即使这个元素是以后再添加进来也有效。...算法: 将事件处理函数绑定容器上, 在事件处理函数内获取 event.target, 根据不同event.target作相应处理 应用场景: 需要为子元素用一个事件处理函数 处理相同动作; 简化不同动作间结构

77860
领券