我有一个我要隐藏的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/
我哪里错了?
答案 0 :(得分:0)
问题是您正在更改信息框中的HTML。这将复制InfoBoxClone
中所有呈现的HTML,但它不会复制现有的javascript事件处理程序。这些javascript事件处理程序是在按钮上调用.button()
时创建的,这将为您提供悬停和点击行为。
我建议隐藏和显示HTML而不是复制隐藏的HTML。您不仅没有此错误,而且您目前还有重复的ID,因为您正在复制HMTL。