获取' ui'在通过jquery中的.on()方法附加到元素的drop事件中

时间:2017-01-05 03:20:15

标签: jquery jquery-ui

我正在尝试获取在放置事件中拖放的元素。我使用.on()方法附加drop事件。当drop事件完成时,我将ui视为未定义。以下是代码。

$(function() {
    var clientFrameWindow = $('#clientframe').get(0).contentWindow;
    $("#dragitemslistcontainer li").on('dragstart', function(event) {
        console.log("Drag Started");
    });
    $("#dragitemslistcontainer li").on('dragend', function() {
        console.log("Drag End");
    });
    $('#clientframe').load(function() {
        $(clientFrameWindow.document).find('body,html').on('drop', function(event, ui) {
            event.preventDefault();
            event.stopPropagation();
            console.log('Drop event');
            console.log(ui); ** * //This prints undefined***
        });
    });
});

As' ui'未定义ui.draggable不起作用。

2 个答案:

答案 0 :(得分:0)

假设您正在使用jquery-ui可拖动窗口小部件,我创建了一个jsfiddle,当从ui对象拖动开始和结束时,它将登录到包含当前拖动项目ID的控制台。我使用了start: function(event, ui)stop: function(event, ui)个事件。

答案 1 :(得分:0)

你会得到' ui'参数仅在droppable或draggable函数中。试试这样的事情

$(".droppableArea").droppable({
  drop: function( event, ui ) {
      // your code
  }
});