Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Вопрос по видимости элементов


Автор: ageent 28.4.2009, 12:13
Пишу выпадающее меню. При добавлении на страницу текста с помощью функции html() я потом не могу им оперировать. Как поправить?
Код

<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script> 
  $(document).ready(function(){ 
      $('.india').next().css('display', 'none').end().click(function() {
        $(this).next().toggle('show');
      });
    $(".pupsik").click(function(index) {
    vol=($(".pupsik")).index(this);
    if (vol==0) {
                if ($("#dima1").is(":hidden")) {
                $("#dima1").html('<p class="india">Не работает (должно сворачиватся, а по клику открыватся.)</p><pre xml:php="xml:php">Текст Текст Текст Текст</pre>').show("slow");
                }  else {
                $("#dima1").slideUp();
                }
          }
    }); 
 });
</script> 
<style>
#dima1{display:none ;}
</style>
<div class="pupsik">кликнуть для появления меню</div>
<div id="dima1"></div>
 
<!--  вне меню -->    
<p class="india">Работает</p> 
<pre xml:php="xml:php">Текст Текст Текст Текст</pre>


Чет слышал про event delegation но как им воспользоватся?

Автор: ksnk 28.4.2009, 12:26
Для таких случаев придуманы события live
Код

... .end().live('click',function() {
        $(this).next().toggle('show');
      });
...


Автор: ageent 28.4.2009, 14:38
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)