Jquery live正在调用以复制按钮。但是这段代码并没有给我预期的输出。有人可以帮助我理解这里的错误。我使用Jquery版本1.10.2
// HTML
<body>
<input class="duplicate" type="button" value="Click" />
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/ext.js"></script>
</body>
// JQuery的
$(document).ready(function(){
$('.duplicate').live({
click: function(){
alert('you have clicked');
$(this).after('<input class="duplicate" type="button" value="Click"/>');
}
});
});
答案 0 :(得分:2)
首先,不要使用live(),它已被弃用。而是使用on() - 方法,并将事件委托给容器中的.duplicate-element。 其次,您可以使用.clone()制作元素的副本,而不是再次键入所有标记。
$('.container').on('click', '.duplicate', function(e) {
var $this = $(this),
clone = $this.clone();
$this.after(clone);
e.preventDefault();
});