1

Ajax を介していくつかの要素を div にロードし、次のようなイベントを追加しています。

$('.zoom-container').on('touchmove click scroll mousedown mousewheel', zoom.userEvent) 

私のhtml:

<div id="Overlay"></div>

いくつかのコンテンツを作成するための私のコード:

$(".full_screen_icon").on({        //delegation
   click: function(evt) {
        var my_html ="zoom  prtty▲thngs";
        var colWidth= $(".block-wrap[data-colspan='2']").eq(0).outerWidth() || "300px";
            //content div erstellen
            $("<div>", {
            id: "detail_content",
                css: {
                    height:colWidth,
                    width:colWidth,
                    "margin-top":-colWidth/2,
                    "margin-left":-colWidth/2
                },
                html: my_html
            })
            .appendTo("#Overlay");

        //content holen via ajax
        $.get("http://www.yxz.de/products/"+ t +".php", function( html ) {
            $("#detail_content").html(html);
        }, 'html');
    }
       .. add zoom-container with some events like above

});

オーバーレイを閉じるには、次のようにします。

$("#Overlay").click(function (e) {
    $(this).find('#detail_content').empty().remove();       
});

イベントが添付された要素を削除すると、イベントもなくなるといつも思っていました。

しかし、ここでは、同じ名前の要素をクリックしてロードし、同じ名前のイベントを添付しています。

div.element を削除した後もイベントが残っていることがわかります。これは私のコードの問題ですか、それとも通常の動作ですか?

私は今不安です。イベントは要素で削除されますか?

4

1 に答える 1