`

jQuery on()方法绑定动态元素的点击事件

阅读更多

之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动态生成的标签点击了没反应,而live方法却能够支持,于是乎到处查资料,问网友,结果找了好久在一篇文章中终于找到了答案。。。

 

jQuery 使用on绑定动态生成的元素时,不能直接用该对象操作,而是选择其非动态生成的父节点然后再找到本身才能达到效果。大家看看源码就知道了。生成的按钮基数项on方法点击无效live方法有效。UI前端框架最新力作!有奖试读!

比如页面上有下边两个元素:

<input type="button" name="addbtn" value="按钮添加" />
<div id="test"></div>

 使用下边的jQuery代码大家可以对比看看区别:

$(function () {
    var a = 1,
    $_div = $('#test');
    $('input[name=addbtn]').on('click', function () {
        $_div.append('<input type="button" name="test' + a + '" value="按钮' + a + '"/>');
        a++;
    });

    //偶数项点击事件
    $_div.on('click', 'input[name^=test]:even', function () {   
        alert('我是有效的on方法,你能看见我吗:' + this.value);
    });

    //奇数项绑定的点击事件  发现点击无效,而是用live方法却能够支持
    $('input[name^=test]:odd').on('click', function () {   
        alert('我是无效的on方法,你不能看见我');
    });

    //奇数项绑定的点击事件  发现点击无效,而是用live方法却能够支持
    $('input[name^=test]:odd').live('click', function () {
        alert('我是live方法,你能看见我吗:' + this.value);
    });
});

 代码简单,就不放演示页了,如果有什么不明白的,可以留言。UI前端框架最新力作!有奖试读!

分享到:
评论

相关推荐

    jQuery为动态生成的select元素添加事件的方法

    在处理动态生成的元素时,jQuery提供了强大的选择器和方法,这使得开发者能够以简洁的方式操作这些元素,包括为它们添加事件监听器。 2. 动态生成元素的事件处理难题:在Web开发中,经常遇到需要动态生成页面元素的...

    jQuery给动态添加的元素绑定事件的方法

    本文实例讲述了jQuery给动态添加的元素绑定事件的方法。分享给大家供大家参考。具体分析如下: jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要...

    jQuery on()方法绑定动态元素的点击事件实例代码浅析

    jQuery 使用on绑定动态生成的元素时,不能直接用该对象操作,而是选择其非动态生成的父节点然后再找到本身才能达到效果。大家看看源码就知道了。生成的按钮基数项on方法点击无效live方法有效。 比如页面上有下边两个...

    layui动态绑定事件的方法

    先通过jQuery选取需要添加事件监听的元素,然后使用.on()方法绑定事件。对于动态添加的元素,我们同样可以使用.on()方法进行事件委托,将事件监听设置在静态的父级元素上,从而实现对动态添加元素的事件监听。 在...

    jQuery on()方法绑定动态元素的点击事件无响应的解决办法

    当使用jQuery的on()方法绑定点击事件到动态元素上时,可能会遇到事件无响应的情况,这通常是因为事件绑定是在元素动态添加到DOM之后才进行的。 首先,需要了解事件委托机制。事件委托是利用了事件冒泡的原理,可以...

    JQuery 给元素绑定click事件多次执行的解决方法

    原绑定方法: $("#sdfsd").on("click",function(e){ ***** }); 这种方法只会在原click方法中继续添加新方法; 解决办法更改绑定方法为: $("#sdfsd").unbind(...在绑定新click方法前对元素所绑定的click方法解绑

    JQuery调用绑定click事件的3种写法

    `.on()`方法可以处理当前及未来的元素(动态生成的元素)的事件,这使得它在处理动态内容时非常有用。下面是使用`.on()`的方法: ```javascript $('#clickmeon').on('click', function(){ alert("Hello World on")...

    jQuery中对未来的元素绑定事件用bind、live or on

    为了解决这个问题,jQuery提供了一些机制来为未来元素绑定事件,比如`bind`、`live`、`on`和`.one()`方法。 首先,我们要认识到,`bind`方法是不可以用来绑定未来元素的事件的。这是因为在`bind`方法被调用的时候,...

    jQuery on()绑定动态元素出现的问题小结

    jQuery on()方法是官方推荐的绑定事件的一个方法。使用 on() 方法可以给将来动态创建的动态元素绑定指定的事件,通过本文给大家介绍jQuery on()绑定动态元素出现的问题小结,需要的朋友参考下

    JQuery绑定事件

    **jQuery绑定事件**是JavaScript库jQuery中的核心功能之一,它极大地简化了DOM元素事件处理的流程,使得开发者能够更加高效地编写代码。在JavaScript原生语法中,为元素添加事件监听器通常涉及到`addEventListener`...

    浅谈Jquery为元素绑定事件

    虽然bind()方法在Jquery新版本中不是处理动态元素事件绑定的推荐方式,但为了完整性,还是简单介绍下。bind()方法通过直接指定要监听的事件类型和对应的函数来绑定事件。例如,$(this).bind('click', function(){})...

    JQuery给元素绑定click事件多次执行的解决方法

    在这个例子中,`#sdfsd`是一个元素的选择器,`on`是jQuery中的事件绑定方法,用于监听并响应指定的事件。每次执行这段代码时,一个新的事件处理函数会被添加到元素的`click`事件列表中。如果这段代码在页面加载、...

    jquery html动态添加的元素绑定事件详解

    jQuery为我们提供了一种非常方便的方法来为这些动态元素绑定事件。接下来,我们将详细探讨如何使用jQuery为动态添加的HTML元素绑定事件。 首先,需要了解的是,在jQuery中,传统的直接事件绑定方式(如使用`.click...

    JQuery 动态删除添加html元素bind事件

    但如果你正在维护一个旧项目,或者需要兼容较早版本的jQuery,`livequery.js`插件可能是解决动态元素事件绑定问题的一个选择。 总的来说,jQuery提供了一套强大的工具来处理HTML元素的动态操作和事件绑定。理解和...

    jquery事件绑定例子

    jQuery还支持“事件委托”,这是一种高效处理大量动态元素事件的方法。通过在父元素上绑定事件,我们可以捕获子元素的事件。例如: ```javascript $('table').on('click', 'td', function() { console.log('TD ...

    浅析jQuery事件之on()方法绑定多个选择器,多个事件

    on()方法是jQuery中用于绑定事件处理器的核心方法之一。它可以用于在一个或多个元素上绑定一个或多个事件处理器。在现代的jQuery版本中,on()方法取代了之前版本中的.bind(), .live(), 和.delegate()方法。 ### on...

    Jquery on方法绑定事件后执行多次的解决方法

    例如,如果一个按钮是通过点击事件动态创建并添加到页面中的,我们应该在按钮被创建之前或按钮的父级元素上,一次性使用on方法绑定事件处理器。当按钮被创建并添加到页面时,它会自动拥有这个已经绑定好的事件处理器...

Global site tag (gtag.js) - Google Analytics