2013-06-20 3 views
0

Мы успешно использовали функцию перетаскивания через jQuery на определенных изображениях. Ниже приведен пример того, как у нас есть droppable.Droppable vs Clickable в JQuery

$('.t1 span.droppable').each(function(){ 
     $('.droppable').droppable({ 
    drop: function(event, ui) { 
    //the drop function is done here. 
} 

Теперь мы пытаемся использовать изображение при нажатии. Сначала мы сделали это, он не работает вообще.

$('.t1 span img.clickable').each(function(){   
      $('.clickable').clickable({ 
      click: function(event, ui) { 
      alert("TYEST"); 
      }; 
      }); 
}); 

Далее мы попробовали это, но если есть 20 изображений, он предупреждает 20 раз.

$('.t1 span img.clickable').each(function(){   

    $('.clickable').click(function(){ 
         alert("TEST"); 
      }); 

}); 

Что является лучшим механизмом для решения этой проблемы?

+0

Ну, вы используете '.each()' 'img', если у вас есть 20' img', он будет срабатывать для каждого найденного тега. – steo

+0

@Steo ok david решил его, просто вернув false, но почему его функциональность я не слишком уверен здесь. – new14

ответ

1
$('.t1 span img.clickable').each(function(){   
    $('.clickable').click(function(){ 
         alert("TEST"); 
      }); 
    return false; 

}); 

Добавить возврат false, и это должно быть исправлено.

+0

спасибо, что так работает, так зачем нужна ложная ложь, какова ее функциональность? – new14

+0

событие click добавляется к каждому так, как только его щелкнул, он разворачивает цепочку. Возвращайте ложные остановки, это похоже на выполнение .stopPropagation http://api.jquery.com/event.stopPropagation/ –

+0

Хорошо спасибо. Другое дело, что у меня этот $ ('. T1 span img.draggable'). Each (function() {$ ('. draggable'). draggable ({helper: 'clone'});}); , В этом, какова роль помощника: «клон»? – new14