pat*_*ick 4 javascript jquery triggers clone
我的代码中有一个div,当我克隆它时,不会直接触发事件.这是代码;
<div id="draggable" onclick="alert(1);" class="ui-widget-content drag">
<p>Drag me to my target</p>
</div>
<div id="here">
</div>
<script type="text/javascript">
$("#draggable").clone().removeAttr("id").attr('id', 'draggable2').appendTo("#here");
$("#draggable2").trigger('onclick');
</script>
Run Code Online (Sandbox Code Playgroud)
当我然后单击克隆元素时,它将正常触发事件.
如果我更改脚本让原始元素触发它也可以正常工作:
<script type="text/javascript">
$("#draggable").clone().removeAttr("id").attr('id', 'draggable2').appendTo("#here");
$("#draggable").trigger('onclick');
</script>
Run Code Online (Sandbox Code Playgroud)
绑定函数也可以正常工作:
<script type="text/javascript">
$("#draggable").clone().removeAttr("id").attr('id', 'draggable2').appendTo("#here");
$("#draggable2").bind('click', function () { alert('2'); });
$("#draggable2").trigger('click');
</script>
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何在克隆后直接触发克隆元素的"标准"onclick.
Fau*_*roy 20
要克隆元素及其事件,必须将"true"作为第一个参数传递.要传递其子项的事件,您还必须传递"true"作为其第二个参数
$myClone = $('#element').clone( true, true );
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4204 次 |
最近记录: |