3

我遇到了一个小问题。这是我在做什么的示例。

 htmlValue += '<a href="#" id="shareOpen" style="margin: 0 2px 0 2px; float: left;" 
title="Share File" class="version ui-icon ui-icon-heart"></a>';
 $(modalDivObj).html(htmlValue);

我正在将其写在具有许多其他功能的页面上的循环中。一切都写得很好并且出现了。但是,当我单击#shareOpen对话框时不会打开。我尝试对相同的 html 进行硬编码,并且效果很好。问题是当我通过.html()它时不会写ID?我不知道。

这是页面上的一些 html 和 jquery。

$("#shareFile").dialog({
        autoOpen: false,
        modal: "true",
        show: "blind",
        hide: "explode",
        buttons: {
            "Done": function () {
                $(this).dialog("close");
            }
        }
    });
    $("#shareOpen").click(function () {
        $("#shareFile").dialog("open");
        return false;
    });
 <div id="shareFile"  runat ="server">



 </div>   
4

1 回答 1

0

从你所说的我认为最有可能的问题是点击事件没有被正确绑定。

尝试使用以下内容而不是您当前的点击来电:

$("#files-icons").on("click", "#shareOpen", function () {
    $("#shareFile").dialog("open");
    return false;
});

这会将事件处理程序绑定到 ID 为“shareOpen”且是#files-icons 子级的任何元素,无论它们何时添加到页面。

我认为问题在于您在页面中尚不存在的元素上绑定了单击处理程序。

于 2012-11-29T17:47:22.177 回答