Javascript 在克隆的元素中显示上下文菜单
我创建了一个Javascript 在克隆的元素中显示上下文菜单,javascript,jquery,contextmenu,clone,Javascript,Jquery,Contextmenu,Clone,我创建了一个contextmenu来显示特定的类,但是当我用该类克隆元素时,contextmenu不会显示 显示上下文菜单: // Trigger action when the contexmenu is about to be shown $(".ui-editable").bind("contextmenu", function (event) { // Avoid the real one event.preventDefault();
contextmenu
来显示特定的类,但是当我用该类克隆元素时,contextmenu
不会显示
显示上下文菜单:
// Trigger action when the contexmenu is about to be shown
$(".ui-editable").bind("contextmenu", function (event) {
// Avoid the real one
event.preventDefault();
//Save the selected and the parent element
selected_area = $(this);
parent_area = $(this).parent();
$(this).addClass('selected-menu')// Show contextmenu
$("#editContextMenu").finish().toggle(100).
// In the right position (the mouse)
css({
top: event.pageY + "px",
left: event.pageX + "px"
});
});
克隆元素:
function cloneBlock() {
$(selected_area).clone().appendTo(parent_area);
}
完整示例如下:
jQuery还有一个附加参数
带有数据和事件(默认值:false)类型:布尔值
一个布尔值,指示是否应将事件处理程序与元素一起复制 因此,您可以将代码更新为:
$(selected_area).clone(true).appendTo(parent_area);
更新小提琴:
另一种方法是使用事件委派,因此无论何时/如何创建HTML,请更改:
$(".ui-editable").bind("contextmenu", function...
到
更新小提琴:
$(document).on("contextmenu", ".ui-editable", function...