Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery UI可调整大小的克隆元素(.clone(true))不';t调整大小_Javascript_Jquery Ui_Jquery Ui Resizable - Fatal编程技术网

Javascript jQuery UI可调整大小的克隆元素(.clone(true))不';t调整大小

Javascript jQuery UI可调整大小的克隆元素(.clone(true))不';t调整大小,javascript,jquery-ui,jquery-ui-resizable,Javascript,Jquery Ui,Jquery Ui Resizable,我在使用jQueryUI中的可拖动和可调整大小功能的克隆元素(使用.clone(true))时遇到了一个奇怪的问题。克隆后,克隆的元素没有这些功能,它们就是不工作 我一直在寻找各种解决方案,比如在克隆后分配功能,但仍然存在问题 这是密码 jQuery(document).ready(function(){ jQuery('#res').draggable({ containment: 'body', grid

我在使用jQueryUI中的可拖动和可调整大小功能的克隆元素(使用.clone(true))时遇到了一个奇怪的问题。克隆后,克隆的元素没有这些功能,它们就是不工作

我一直在寻找各种解决方案,比如在克隆后分配功能,但仍然存在问题

这是密码

jQuery(document).ready(function(){
            jQuery('#res').draggable({
                containment: 'body',
                grid: [ 10, 10 ],
                snap: true,
            });
            jQuery('#res').resizable({
                grid : 10,
                handles : 's'
            });
            var res_clone = jQuery('#res').clone(true);
            jQuery(res_clone).attr('id', 'res_clone');
            jQuery('#res').parent().append(res_clone);
        });
JQuery.clone()
仅适用于DOM。因此,只有在将其附加到父级之后,才能使其可调整大小或拖动

见文件:

对于JavaScript对象,请使用extend()


我找到了解决问题的办法。在可调整大小的元素上使用.clone(true),事件处理程序似乎不起作用,因此我使用了一个简单的.clone()。现在,克隆的元素包含.ui可调整大小的处理程序div,这些div通过.draggable()方法干扰新添加的处理程序,因此问题一直存在,因此在应用.draggable()方法之前,我已删除克隆元素中找到的所有.ui可调整大小的处理程序div

可拖动功能可以正常工作

工作示例

jQuery(document).ready(function(){
            jQuery('#res').draggable({
                containment: 'body',
                grid: [ 10, 10 ],
                snap: true,
            });
            jQuery('#res').resizable({
                grid : 10,
                handles : 's'
            });

            var res_clone = jQuery('#res').clone();
            jQuery(res_clone).attr('id', 'res_clone');
            jQuery(res_clone).find('.ui-resizable-handle').remove();
            jQuery(res_clone).draggable({
                containment: 'body',
                grid: [ 10, 10 ],
                snap: true,
            });
            jQuery(res_clone).resizable({
                grid : 10,
                handles : 's'
            });

            jQuery('#res').parent().append(res_clone);
        });