2013-06-10 3 views
0

У меня есть div, который я хочу скрыть .. затем загрузите с помощью html, который включает в себя кнопку ... затем покажите ее еще раз - и пусть кнопка будет кнопку jquery ui.Создание jquery кнопки ui в скрытом div не работает, когда div отображается

$("#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

Проблема с кнопкой '' button? Если да, то что не работает так, как вы ожидаете? – j08691

+0

, как вы можете видеть в скрипке, это не кнопка, это просто «графический». Сравните его с кнопкой переключателя над ним. – Upland

ответ

0

Проблема в том, что вы меняете HTML-код, который находится в информационном окне. Это скопирует весь отображаемый HTML в InfoBoxClone, но он не будет копировать обработчики событий javascript, которые находятся на месте. Эти обработчики событий javascript создаются, когда на кнопку вызывается .button(), что и дает вам поведение наведения и нажатия.

Я бы рекомендовал скрывать и показывать HTML, а не копировать скрытый HTML. Мало того, что у вас не будет этой ошибки, но у вас есть дубликаты идентификаторов, потому что вы дублируете HMTL.

+0

Но я * хочу * изменить html, который находится в #infobox ... У меня есть несколько кнопок, каждый со своим содержимым инфобокса (скрипка - голые кости, поэтому одна кнопка). Но я беру вашу точку зрения на дубликаты идентификаторов, поэтому изменил его на класс (http://jsfiddle.net/Upland/JFUuH/10/) ... Я просто не понимаю, почему он не ведет себя так, как я ожидаю. – Upland

+0

Потому что вы копируете HTML после вызова 'button'. Как я уже сказал, вы копируете HTML, но не обработчики событий. Даже если у вас есть 100 разделов, я бы переключил скрытые, а не копировал HTML. – cadrell0

Смежные вопросы