春日负暄 2017-08-03 10:14 采纳率: 0%
浏览 2694

JS中在html文本就绪后,对某个元素进行clone(true),事件消失.


 JS中$(document).ready()紧接着对html中的<div>进行clone(true),事件消失.
JS对div中的<input  class="pkSeq" type="text" >绑定了一个点击事件.
JS进行如下操作:

 $(document).ready(function() {

    window.contextPath = localhostPaht+projectName;

    /**
     * 维护信息窗口克隆
     */
    var applSeq=window.parent.applSeq;
    var WinId = 1;

    var divObj=$("#row_0").clone(true);
    $("#addDiv").unbind("click").on("click",function(){
        divObj.attr("id","row_"+WinId);
        divObj.insertAfter($("#row_"+(WinId-1)));//将clone出的追加到上一个的div后面
        WinId++;
    });
 });    
//这是点击事件:`
 $(".pkSeq").unbind("click").on("click", function () {})



 然后网页中原本的div中的点击事件还存在,而克隆出来的div中的点击事件直接没了.不是不触发,是没了.就像新克隆的div根本没有js一样.想知道为什么.



  • 写回答

2条回答 默认 最新

  • Rattenking 优质创作者: python技术领域 2017-08-04 02:11
    关注

    这种事件绑定不触发是由于你采用的是js绑定,造成的。
    解决方法:
    1、将绑定方法采用在**元素自身用click等事件**
    2、在你复制该元素节点添加进去的操作完成后,再对该元素绑定一次你的事件

    评论

报告相同问题?