动态生成的元素绑定事件

生活 2019-04-15 22:23:40 7127

本文收集整理关于动态生成的元素绑定事件的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:怎样给jquery动态生成的元素绑定事件
  • Q2:如何给动态生成的元素绑定事件
  • Q3:AngularJS实现给动态生成的元素绑定事件的方法
  • Q4:jquery动态创建元素绑定事件
  • Q1:怎样给jquery动态生成的元素绑定事件

    你在动态生成的时候 给他设置一个id
    然后$("#id").click(function(){
    ...
    });
    或者在生成的时候就给他加个onclick="a();"
    或者用委托

    Q2:如何给动态生成的元素绑定事件

    使用jQuery的$(selector).on("event","child",function(){});给静态元素绑定事件是比较容易的,比如下面这行代码就是给 p 元素绑定点击事件
    $("p").on("click", function () {
    alert("you click the p element");
    })123、
    但是如果是动态生成的元素,使用上面这段代码是没有效果的,因此要选择动态元素的某个父级静态元素,以此来绑定事件方可,具体见下段代码。
    <script>
    $(document).ready(function () {
    $("button").on("click", function () {
    $("#myDiv").append("

    this is a new paragraph!

    ");
    });
    $(document).on("click", "#myDiv p", function () {
    alert("you clicked the p element!");
    })
    }
    )</script><body>


    别的没什么说的,要注意的是各种绑定事件要写在$(doucument).ready() 中,否则无效。

    Q3:AngularJS实现给动态生成的元素绑定事件的方法

    本文实例讲述了AngularJS实现给动态生成的元素绑定事件的方法。分享给大家供大家参考,具体如下:

    1 . 我们知道在jQuery中,动态生成一个元素,如果要在动态生成元素的同时,动态绑定事件,可以通过live/on方法(在jquery3.0中已经废除了bind方法)。

    2 . 在AngularJS中,操作DOM一般在指令中完成,事件监听机制是在对于已经静态生成的dom绑定事件,而如果在指令中动态生成了DOM节点,动态生成的节点不会被JS事件监听。

    举例来说:

    angular.module(myapp,[]).directive(myText,function(){return{restrict:A,template:
    Hi everyone
    ,link:function(scope,ele,attr){}}})

    这个指令中,会生成新的DOM节点:

    Hi everyone

    但是如果不做处理,这里的ng-click事件并不能实现,因为事件的监听在静态html页面生成时候已经完成。那么如何给动态生成的元素,绑定事件,实现事件的动态监听呢?

    3 . 通过$compile服务,编译DOM,实现动态的事件绑定

    var template:
    Hi everyone
    ,var content = $compile(template)(scope);

    通过这两句,首先先编译DOM,然后用编译后的DOM加入到之前的静态节点中,就能实现动态绑定事件,之类注意,应该注入$compile service

    .directive(myText,function($compile){})

    完整的代码如下:

    angular.module(myapp,[]).directive(myText,function($compile){var template:
    Hi everyone
    ,return{restrict:A,link:function(scope,ele,attr){ele.on("click", function() {scope.$apply(function() {var content = $compile(template)(scope);element.append(content);})});}}})

    更多关于AngularJS感兴趣的读者可查看本站专题:《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》

    希望本文所述对大家AngularJS程序设计有所帮助。

    Q4:jquery动态创建元素绑定事件

    对于动态新增的标签,可以使用live()方法绑定事件,比如你的
    $("XX").live("click",function(){
    、、、、、
    });

    相关文章
    抖音动态壁纸怎么设置2018-09-14
    怎样做公众号动态图2019-01-17
    微信动态表情制作软件2019-01-24
    电脑如何设置动态桌面2019-02-17
    如何删除空间全部动态2019-02-18
    如何制作微信动态表情2019-02-19
    如何区分使用动态模型还是静态模型2019-02-19
    怎样设置电脑动态壁纸2019-02-19
    如何设置不看他的动态2019-02-19
    excel如何建立动态图表2019-02-21