当我尝试拖动克隆对象时,它会拖动原始对象。我该如何解决这个问题?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<script type='text/javascript' src='js/jquery-1.4.4.min.js'></script>
<script type='text/javascript' src='js/jquery-ui-1.8.6.custom.min.js'></script>
<style type='text/css'
#calendar {width: 900px; margin: 0 auto;}
.container {position: absolute; top: 0pt; left: 0pt;}
.block {background-color: rgb(153, 255, 102); position: absolute; z-index: 8; width: 131px; height: 50px;border: 1px solid;}
</style>
<script type='text/javascript'>
$(function() {
$( ".block" ).draggable();
selector = $('.special').clone(true).show()
.css({left:'', top:'', position:'', borderWidth:'1px', marginBottom: '2px'})
.find('span').text('Cloned').end().appendTo('.container');
});
</script>
</head>
<body>
<div id='calendar'>
<div class="container">
<div class="block special" style="left: 278px; top: 300px;">
<span>Original</span>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
正如您所发现的,jQuery中的.clone(true)
克隆了原始元素的事件处理程序。
要解决此问题,您可以尝试使用此答案中定义的liveDraggable
函数: