zoukankan      html  css  js  c++  java
  • jquery 对于新插入的节点 的操作绑定(点击事件,each等)

    因为最近项目遇到这个问题,下面给大家带来一篇Jquery对新插入的节点 获取并对这个节点绑定事件失效的解决方法。我觉得挺不错的,大家也可以参考一下:

    对于绑定事件来讲:

          方法一:使用live

           live()函数会给被选的元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行的函数。通过live()函数适用于匹配选择器的当前及未来的元素。比如,通过脚本动态创建的元素。

           实现如下:

    1
    2
    3
    $('.liLabel').live('click', function(){
     alert('OK');
    });

           方法二:使用on

          可以通过on方法绑定事件,可以绑定到它的父级或者body中,实现如下:

    1
    2
    3
    4
    5
    6
    7
    $("#ulLabel").on('click','.liLabel',function(){
     alert('OK')
    });
    或者:
    $("body").on('click','.liLabel',function(){
     alert('OK')
    });

    对于each()事件来讲:

         方法一、刚创建完元素的时候,就立刻使用each方法

         代码如下:

         $('#btn').on("click", function(){

              $('#div').append("<input type='text' />");

              $("input").each(function(){

                  //TODO:

              });

         });

        方法二、使用setTimeout方法在页面加载完成一段时间后再使用each方法

        代码如下:

        setTimeout(function(){

            $("input").each(function(){

                //TODO:

            });

        },1000);

    是不是新插入的节点 对这个节点绑定事件失效问题解决了,希望这篇随笔能够帮助大家

         

  • 相关阅读:
    顾问和注解
    正则
    GitHub 的简单使用
    JavaScript变态题目
    常用的Javascript设计模式
    HTML5 本地裁剪上传图片
    webpack 打包
    详解js闭包
    常用的Javascript设计模式
    call appiy
  • 原文地址:https://www.cnblogs.com/yf-html/p/7514330.html
Copyright © 2011-2022 走看看