Как узнать, какой div / ui.helper нажал в событии перетаскивания jqueryui / jquery? - PullRequest
2 голосов
/ 30 апреля 2011

На сайте JQuery UI:

http://jqueryui.com/demos/draggable/

Если у меня есть:

<div id="someId" class="someClass">he</div>
<div id="otherId" class="otherClass">he2</div>

И:

$('#someid','#otherid').draggable({
    drag: function(event, ui) {
      alert(ui.helper.THEIDOFTHECLICKEDITEM); // What goes here?
    }
});

Как мнеполучить идентификатор или класс идентификатора, используя переменную "ui" из обратного вызова?Если это невозможно, как я могу получить его из переменной "event"?

1 Ответ

7 голосов
/ 30 апреля 2011

Вы хотите:

$("#someId, #otherId").draggable({
    drag: function(event, ui) {
        console.log(ui.helper[0].id);
    }
});

(или используйте ui.helper.attr("id"))

Примечание : ui.helper - это объект jQuery, поэтому мы должны либо использовать .attr("..."), чтобы получить id, либо получить доступ к сопоставленному элементу по индексу 0 и напрямую получить идентификатор.

<ч />

Или без использования аргумента ui (вероятно, что я бы порекомендовал):

$("#someId, #otherId").draggable({
    drag: function(event, ui) {
        console.log(this.id); // "this" is the DOM element being dragged.
    }
});

Вот рабочий пример: http://jsfiddle.net/andrewwhitaker/LkcSx/

...