在显示div时,在隐藏div中创建jquery ui按钮不起作用

时间:2013-06-10 16:43:57

标签: jquery-ui

我有一个我要隐藏的div ..然后用html加载,其中包含一个按钮..然后再次显示它 - 并且按钮是一个jquery ui按钮。

$("#InfoBox").hide("slide", {
    direction: "right"
}, 1000, function () {
    $("#InfoBox").html($("#InfoBoxClone").html());
});

$("#butEditor").button();

$("#InfoBox").show("slide", {
    direction: "left"
}, 1000);

当它显示时,它肯定看起来像一个jquery ui按钮 - 但不会表现为一个。

不容易解释所以我做了一个jsfiddle来展示它的骨头。

http://jsfiddle.net/Upland/JFUuH/6/

我哪里错了?

1 个答案:

答案 0 :(得分:0)

问题是您正在更改信息框中的HTML。这将复制InfoBoxClone中所有呈现的HTML,但它不会复制现有的javascript事件处理程序。这些javascript事件处理程序是在按钮上调用.button()时创建的,这将为您提供悬停和点击行为。

我建议隐藏和显示HTML而不是复制隐藏的HTML。您不仅没有此错误,而且您目前还有重复的ID,因为您正在复制HMTL。