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

绑定到动态创建的元素的事件.(jQuery 1.7.2)

绑定到动态创建的元素的事件是指在jQuery中,当一个元素是在页面加载后动态创建的时候,如何为其绑定事件。在jQuery 1.7.2中,可以使用“事件委托”的方法来实现这一目标。事件委托是一种将事件监听器添加到父元素上,而不是直接添加到目标元素上的方法。当事件触发时,会通过事件冒泡机制到达父元素,然后在父元素上执行事件处理函数。

以下是一个使用事件委托的示例:

代码语言:javascript
复制
$(document).ready(function() {
  // 监听.btn-dynamic类的click事件
  $(document).on('click', '.btn-dynamic', function() {
    // 在这里执行事件处理函数
    console.log('动态创建的元素被点击了');
  });
});

在这个示例中,我们将事件监听器添加到了document对象上,并指定了.btn-dynamic作为要匹配的元素。当点击任何具有.btn-dynamic类的元素时,事件处理函数将被执行。

这种方法的优势在于,即使在页面加载后动态添加了新的匹配元素,事件依然能够正常工作。这是因为事件监听器实际上是添加在父元素上的,而不是直接添加在目标元素上。

推荐的腾讯云相关产品:

  1. 腾讯云对象存储(COS):一个高性能、低成本、可扩展的云存储服务,可以用于存储和管理网站上的静态资源。
  2. 腾讯云内容分发网络(CDN):一个全球内容分发网络,可以加速网站的访问速度,提高用户体验。
  3. 腾讯云云服务器:一个可扩展的、高性能的云计算服务,可以满足各种应用的计算需求。

产品介绍链接地址:

  1. 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  2. 腾讯云内容分发网络(CDN):https://cloud.tencent.com/product/cdn
  3. 腾讯云云服务器:https://cloud.tencent.com/product/cvm
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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
  • 使用jQuery.data()查看元素绑定事件

    最近遇到一个诡异问题,发现我添加在一个HTMLElement片段上面的事件绑定,会在后续流程中,无故丢失了。但是,我不知道它是什么时候丢失。 所以我需要要一步步逼近定位问题。...最先想到是浏览器面板上面的,可以选中元素,看元素上面的事件绑定。 但浏览器上面看到是结果量,也就是看到是已经丢失了事件元素,但我还是不知道什么时候丢失。...我可以断点取到每个阶段HTMLElement元素状态,但是,这个时候,我却找不到观察其事件绑定情况方法。 谷歌好久,发现JS原生是没法查看事件绑定情况。...还好,我们都是用jQuery,用$.on()。 而jQuery自身事件绑定,额外添加了一层事件数组。...,就会返回这个元素上面绑定所有事件

    1.8K00

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

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

    1.3K20

    关于一些动态创建节点无法绑定事件问题

    在我们HTML页面中有时候一些DOM元素节点(例如:一些页面加载新闻公告列表[如下图])是需要通过AJAX请求接口数据动态创建, 而当我们想在JS中想为这些节点绑定事件(如:click,hover...new_list.png 解决办法: 使用JQ提供.on()和.delegate()方法可以解决解决此问题,给动态加载元素成功绑定事件,但是在这两种方法参数中一定得写上我们需要绑定事件那个元素选择器...这两种方法内参数 .list 就是我们动态加载出来需要绑定事件那个元素,前面的 #parent 是 .list 元素元素。...//javascript 代码 //.list为新闻里每一条公告,是我们动态创建;#parent是一个包裹着里这一行行公告一个div。...//一般来说,我们绑定事件写法都是用下面的第一和第二种写法。但是这种写法是绑定不上

    1K10

    jQuery源码解析之click()事件绑定

    一、事件委托 DOM有个事件流特性,所以触发DOM节点时候,会经历3个阶段: (1)阶段一:Capturing 事件捕获(从祖目标) 在事件自上(document->html->body->xxx)...二、$().click() 作用: 为目标元素绑定点击事件 源码: //这种写法还第一次见,将所有鼠标事件写成字符串再换成数组 //再一一绑定DOM节点上去 //源码10969行 jQuery.each...() 作用: 在被选元素及子元素上添加一个或多个事件处理程序 源码: //绑定事件方法 //源码5812行 jQuery.fn.extend( { //在被选元素及子元素上添加一个或多个事件处理程序...jQuery.on() 方法: //绑定事件on方法 //源码5143行 //目标元素,类型(click,mouseenter,focusin,xxx),回调函数function(){xxx...:\.(.+)|)/; 综上,绑定事件本质即调用element.addEventListener()方法,但 jQuery 有太多情况需要考虑了。 (完)

    1.7K20

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

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

    1.7K20

    jQuery 事件(三) 事件绑定和解绑、对象使用、自定义事件

    事件绑定和解绑 on()事件绑定 之前学鼠标事件,表单事件与键盘事件都有个特点,就是直接给元素绑定一个处理函数,所有这类事件都是属于快捷处理。...jQuery on()方法是官方推荐绑定事件一个方法 基本用法:.on( events ,[ selector ] ,[ data ] ) 最常见元素绑定一个点击事件,对比一下快捷方式与on...由于浏览器事件冒泡特性,可以在触发li时把这个事件往上冒泡ul上,因为ul上绑定事件响应,所以能触发这个动作。 事件对象 怎么才知道触发li元素是哪个一个?...正常来说是不可以,但是jQuery解决了这个问题,提供了一个trigger方法来触发浏览器事件 $('#elem').trigger('click'); //在绑定on事件元素上,通过trigger...方法就可以调用到alert .trigger定义 根据绑定匹配元素给定事件类型执行所有的处理程序和行为 trigger除了能够触发浏览器事件,同时还支持自定义事件,并且自定义时间还支持传递参数 $

    4.1K30

    关于动态创建DOM元素问题

    testDiv").innerHTML ="动态创建div"; 而且用应该是还是乐此不疲,但是有多少人知道这是错误做法!...但是如果我们使用DomCreateElement创建对象, 在所有的浏览器中几乎都可以. 但是在jQuery中如果传入而是一个完整HTML字符串, 内部也是使用innerHTML....第二种方式: 使用Jquery 当HTML字符串是没有属性元素是, 内部使用document.createElement创建元素, 比如: //jQuery内部使用document.createElement...创建元素: $(" ").css("border","solid 1px #FF0000").html("动态创建div").appendTo(testDiv); 否则使用innerHTML方法创建元素...: //jQuery内部使用innerHTML创建元素: $(" 动态创建div ").appendTo(testDiv) (引自:http://kb.cnblogs.com/page/46453

    2.2K20

    js 动态生成 input 绑定事件 blur 无效

    https://blog.csdn.net/u011415782/article/details/89230040 ☯ 背景描述 今天在进行代码编写时,我需要根据ajax返回数据动态生成一个表格...,而针对于其中input标签,要求设置失去焦点blur事件 需要实现界面截图如下: ?...,而动态新生成却无法触发blur事件 因为测试失败后,转而考虑新写法,且可以正常实现 ?...ி 附录 1.针对我问题,求助度娘,发现了下面的一个帖子,可作参考 动态添加blur事件失效 [问题点数:60分,结帖人lawrendc] 时间相当久远... 2.最接近解决需求文章如下...,建议可自行测试 动态生成input绑定事件无效如:blur 意见:异步导致绑定事件失败,需使用全局绑定事件 3.w3school 文档 - onblur 事件 这就是官方文档

    8.9K00

    Web阶段:第五章:JQuery

    jquery页面加载完成之后,会把所有注册了函数都按照注册顺序,依次全部执行。 事件 **click()** 绑定单击事件。触发单击事件 **mouseover()** 绑定鼠标移入事件。...**bind()** 可以同时给标签绑定一个或多个事件 **one()** 给标签绑定只响应一次事件 **live()** live可以给匹配了选择器所有元素绑定事件,哪怕这个元素是后面动态创建.../script/jquery-1.7.2.js"> $(function(){ //*1.通常绑定事件方式...//给元素绑定事件 //jquery对象.事件方法(回调函数(){ 触发事件执行代码 }).事件方法(回调函数(){ 触发事件执行代码 }).事件方法(回调函数...,绑定事件只会发生一次one(type,[data],fn)函数把元素事件绑定起来 //type表示要绑定事件 [data]表示传入数据 fn表示事件处理方法

    26.2K20
    领券