2012-06-01 2 views
2

Всякий раз, когда пользователь нажимает кнопку div, я хочу зарегистрировать droppable. Я устанавливаю замыкание
add.droppable({}) на var toDrop, а затем вызывает методы на toDrop, как показано ниже, это плохая практика?Является ли это плохой практикой для droppable?

Например, вместо toDrop.addClass("newColors"); я должен использовать что-то вроде

this.addClass("newColors") 

Вот полный фрагмент:

$("#myDiv").on('click' , '.colors' , function() { 
    var add = $(this).parent(); 
     var toDrop = add.droppable({ 
      drop: function(event, ui) { 
      toDrop.addClass("newColors"); 
      toDrop.attr("portletName", parameter); 
     } 
    }); 
}); 
+0

Я думаю, что это немного затрудняет читаемость. Почему вы хотите сделать это так? – FishBasketGordo

+0

@FishBasketGordo Я этого не делаю, вот почему я попросил лучшего пути :) –

+0

Прямо на. Тогда Шанкар заманил тебя. Ура! – FishBasketGordo

ответ

2

Если вы не хотите использовать эту переменную tpDrop, кроме как в обработчике перетаскивания его целесообразно использовать ключевое слово this вместо создания замыкания, которое представляет элемент с возможностью замены.

Таким образом, вы должны использовать $(this).addClass("newColors");

Вы можете использовать JQuery СЦЕПЛЕНИЕ функции.

$(this).addClass("newColors").attr("portletName", parameter);

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