jquery动态生成元素的事件绑定


<html>

<head>    <meta charset="utf-8">    <meta name="view" content="width=device-width;user-scalable=no;initial-scale=1.0">    <script src="jquery.js"></script>    <style>

        .image-host{

            width:100%;

        }

        .image-host.image-block{

            width:100%;            height:100px;            margin:10px 0;            padding-left:10px;        }

        .image-block img{

            width:100px;            height:100px;

        }    </style></head>

<body>

<script>

    $(document).ready(function(){

        var img_block = $(‘div.image-host‘).html();

        $("#moreimg").click(function(){

            $(‘div.image-host‘).append(img_block);        });

      /*  $(‘img‘).live("click",function(){

            alert("a");        });

        live方法已经失效   */

          //live方法在新的jquery版本里已经失效         //下面给img绑定click事件,分别使用click(会发现对新增加的动态图片,无法响应点击事件),使用delegate方法,则可以//delegegate使用方法  $(‘父元素选择器,可以是多层父元素,可以是id,class,tagname等等‘).delegate("子元素的选择器","绑定的事件名,这里为click","待处理的函数fun//cCall");

//下面测试时,注释掉其中一个click        $(‘.image-host‘).delegate("img","click",function(){

            alert("a");        });

        $(‘img‘).click(function(){

            alert("a");        })

    });</script>

<div class="image-host">     <div class="image-block"><img src="http://ww3.sinaimg.cn/mw600/672ac5f1jw1dyvqs9ya0zj.jpg"></div>

</div><div class="more_image">    <input type="button" id="moreimg" value="增加图片"></div></body></html>
时间: 2024-10-23 12:18:39

jquery动态生成元素的事件绑定的相关文章

8/10 动态生成元素的事件绑定

1.7之前可使用 live () $("tbody>tr>td:nth-child(1)").live("click",function(){ var zState; if($(this).find(" .zMore").hasClass("fa-plus")) { zState=true; } else if($(this).find(" .zMore").hasClass("fa-

HTML中动态生成内容的事件绑定问题【转载】

转自 http://www.hitoy.org/event-binding-problem-of-dynamically-generated-content.html 由于实际的需要,有时需要往网页中动态的插入HTML内容,并在插入的节点中绑定事件处理函数.我们知道,用Javascript向HTML文档中插入内容,有两种方法,一种是在写HTML代码写入JS,然后插入到文档中:另外一种是通过ajax的方式,从服务器获取数据,然后用js把获取的数据经过处理后插入文档中:两种方法各有特点,本文将分析新

jQuery1.9之后使用on()绑定 动态生成元素的 事件无效

来自互联网: 需要绑定a的父级元素(此元素必须为静态元素,不是后来动态生成的),然后设定on()方法的selector参数才行: $('p').on('mouseenter', 'a', function(){ //.............. }); 也就是说<p>元素必须为页面加载的时候就有的,不是动态生成的.这样才行.

如何将jquery动态生成的数据绑定事件

必须要使用事件绑定! 我使用on事件绑定 父级元素在on时间之前 之后你需要绑定事件的子元素 $('.photo-main').on('mouseenter','.photo-box',function(){ $(this).find('img').css({ '-webkit-filter':'brightness(.5)', }); $(this).find('.image-tit').css({ 'display':'block', }); }); 错误代码:下面这代码无法运行,注意绑定事

jquery动态生成html代码绑定事件

今天工作中需要在页面动态生成html代码,但发现新生成的代码的click事件失效了(非动态生成的代码已经绑定了click事件),于是在网上找了很多解决办法,很多都比较复杂,且使用的jquery都比较老,于是结合网上加上自己的测试,找到了一种解决方法. 我使用的jquery是1.9.11,jquery1.7之后就将live方法废弃了,新增了on和off方法,我的解决办法就是使用on方法,首先看代码: <div class="h3"> <h3>李健1</h3&

动态生成元素动作绑定,jquery 1.9如何实现

1.7后增加了 live()1.9后被移除了 网上说可以用 on() 代替 可以实际在动态生成元素上绑定动作,没效果,求解绝方法(用低版本的jQuery这种方法,求别说..) 答: 之前有老兄回答过类似这个问题,我把他的写法给你贴一下吧: 你应该使用 on 事件进行绑定,这样新插入的元素就可以触发点击事件了.http://api.jquery.com/on/ $(function(){ $("body").on("click", '.a', function(){

jquery访问动态生成元素

最近在做留言板过程中 ,遇到一个问题:通过jq动态生成的元素无法绑定事件,上网 查资料得知,动态生成元素需要通过事件代理来实现 这里直接介绍我采用的on()方式实现 : jQuery引入了全新的事件绑定机制,on()和off()两个函数统一处理事件绑定.因为在此之前有bind(), live(), delegate()等方法来处理事件绑定,jQuery从性能优化以及方式统一方面考虑决定推出新的函数来统一事件绑定方法并且替换掉以前的方法. on(events,[selector],[data],f

layUi 模板引擎动态创建元素之后,绑定的事件无效了;

模板引擎动态创建元素之后,绑定的事件无效了: layUi 模板引擎动态创建元素之后,绑定的事件无效了: 可以在 模板引擎成功后  注册事件 原文地址:https://www.cnblogs.com/lpp-11-15/p/12264046.html

jquery为新增元素添加事件

jquery为新增元素添加事件 默认情况,你使用jquery新增一个元素 ,用class的方法无法绑定事件,需要将绑定的函数放到jquery外面 然后在绑定行内事件 这样就可以绑定了