簡體   English   中英

使用事件克隆HTML元素

[英]Cloning HTML Element with the Events

我有一個HTML圖像元素,如下所示:

var actionImage = $("<img></img>");
    actionImage.attr("id", getRandomString()); 
    actionImage.attr("width", "16").attr("height", "16").attr("src", "Action_normal.png");
    actionImage.attr("style", "cursor: hand;");
    actionImage.bind('mouseover', function() {
        OnMouseOver($(this).get(0));              
    });

克隆此元素時,我會松開mouseover事件。 如何確保事件也被克隆。

Clone使用一個布爾參數,當它為true時(不是默認值),它將保存數據和事件。 您需要$actionImage.clone(true)

正如@Purmou所提到的,您也可以通過ondelegate來綁定JS事件來避免此問題。

當將true傳遞給JQuery中的clone()方法時,事件處理程序也會被復制。 因此,只需使用$("#myElementId").clone(true)

.clone有一個[withDataAndEvents]選項,可以將其設置為true

withDataAndEvents

一個布爾值,指示是否應將事件處理程序與元素一起復制。 從jQuery 1.4開始,元素數據也將被復制。

資料來源: http//api.jquery.com/clone/

從1.0開始,這是一個選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM