Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.05.2009, 21:32
Новичок на форуме
Отправить личное сообщение для spec2000 Посмотреть профиль Найти все сообщения от spec2000
 
Регистрация: 31.05.2009
Сообщений: 3

jquery-ui: droppable & draggable. Теряются события.
Хочу сделать простой скрипт где драг-объект перемещается в дроп-объект и при дропе одни меняются местами. И можно было поменять так бесконечное количество раз =)
У меня получается только один раз
упрощенно код такой:
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery-ui.js" type="text/javascript"></script>
<script src="ui.draggable.js" type="text/javascript"></script>
<script src="ui.droppable.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){

$("img.drag").draggable({ 
        revert: 'invalid',
        helper: 'clone',
        start: function(event, ui){ posit = $(this).attr("id"); obj = this}
    });

$("img.drop").droppable({ 
         drop: 
         function(event, ui) {
         drag_object= $(obj).clone(true);
         drop_object = $(this).clone(true);
         $(obj).replaceWith(drop_object);
         $(this).replaceWith(drag_object);
         }         
    });
});

</script>

<img class="drag" src='images_drag.jpg'>
<img  class="drop" src="images_drop.jpg">


Первый раз все отлично меняется, но после реплейса драг-объект становится неподвижным.
Ответить с цитированием
  #2 (permalink)  
Старый 01.06.2009, 12:53
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Может, подойдет jquery.sortable?
Ответить с цитированием
  #3 (permalink)  
Старый 01.06.2009, 13:32
Новичок на форуме
Отправить личное сообщение для spec2000 Посмотреть профиль Найти все сообщения от spec2000
 
Регистрация: 31.05.2009
Сообщений: 3

да спасибо. наверно это то что мне нужно было.
Но щас я в некотором замешательстве.. Вопрос такой. Запустилась страничка. document.ready Отработал. Свойства элементам прописал.. а дальше я создаю новый элемент с уже существующим классом, но при этом jquery его уже больше не видет. Что делать? Как переинициализровать документ? или чо-то в этом роде чтобы jquery его подхватил?
Ответить с цитированием
  #4 (permalink)  
Старый 01.06.2009, 13:48
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Ну либо jquery live(), либо перенавешивать все бинды. Но зачем удалять элемент, а потом создавать заново? перемещайте уже существующий. А если создаете действительно новый, на лету -- тогда же и навешиваете бинды. Как вариант, если создаете кучу однотипных элементов -- создайте заранее один шаблон, навестье на него обработчик, а потом просто клонируйте куда надо
Ответить с цитированием
  #5 (permalink)  
Старый 01.06.2009, 13:49
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

[telepat mode]live[/telepat mode] немного опоздал
Ответить с цитированием
  #6 (permalink)  
Старый 01.06.2009, 14:04
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

почему же телепат мод? вроде понятно
Ответить с цитированием
  #7 (permalink)  
Старый 01.06.2009, 14:19
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

потому что "Свойства элементам прописал", а про события ничего не сказано, про события обычно говорят "назначил пару обработчиков"
p.s. а вообще это единственная трактовка поста, которую я придумал, а раз уж 2 человека, независимо друг от друга ...
Ответить с цитированием
  #8 (permalink)  
Старый 01.06.2009, 14:45
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Возможно, просто telepat_mode.defaults.on === true?
Ответить с цитированием
  #9 (permalink)  
Старый 02.06.2009, 10:12
Новичок на форуме
Отправить личное сообщение для spec2000 Посмотреть профиль Найти все сообщения от spec2000
 
Регистрация: 31.05.2009
Сообщений: 3

да да да да я так и сделал буквально сразу как понял что объекты удалять не надо. Ну в общем все равно я jquery оставил в покое...
на версию 1.3.2 IE8 выдает ошибку и ничо не работает.
Ненавижу яваскрипт!!!!!!!
Ответить с цитированием
  #10 (permalink)  
Старый 02.06.2009, 10:34
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

Сообщение от spec2000
Ненавижу яваскрипт!!!!!!!
тем больше ценимся мы, кого не остановили такие трудности
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 08:41