Javascript redips.drag在删除行时获取行id并发送到服务器

Javascript redips.drag在删除行时获取行id并发送到服务器,javascript,jquery,django,redips.drag,Javascript,Jquery,Django,Redips.drag,我正在构建一个django站点,并在我的一个页面中实现了redips.drag库,以允许拖动表行。我希望代码中有一个非常简单的功能—添加一个侦听器,这样当删除行时,它会将行数据发送到服务器。就jQuery而言,类似这样: $(function() { $(someDomElement).on('DropEvent', function() { // send data to server }; }); 但问题是redips.drag不是jQuery插件,

我正在构建一个django站点,并在我的一个页面中实现了redips.drag库,以允许拖动表行。我希望代码中有一个非常简单的功能—添加一个侦听器,这样当删除行时,它会将行数据发送到服务器。就jQuery而言,类似这样:

$(function() {
    $(someDomElement).on('DropEvent', function() {
           // send data to server
    };

});
但问题是redips.drag不是jQuery插件,而是javascript插件,所以我的知识有点(远远不够)缺乏。我可能会找到其他的库,但它的性能非常好,我更喜欢了解如何使用它,而不是寻找一个不同的库

我可能可以自己处理“将数据发送到服务器”部分,但我完全不理解的是如何“捕获”drop事件,我应该听dom的哪一部分?我尝试将monitorEvents添加到不同的选择器,但完全失败

我还尝试操作script.js文件(初始化行处理的文件),但也失败了。下面是我正在使用的一个(redips包中的示例20):

现在,我尝试将console.log(“hello”)添加到rd.event.rowdroped函数(就在msg.innerHTML行的上方),但这不起作用,我删除了该行,但日志中没有显示任何内容。在init函数外部执行console.log可以工作,因此我知道脚本可以将内容传递到控制台


请问,有人能帮我吗?我完全不知所措……

我知道回答你的问题可能有点晚,但我找到了答案。您需要使用已删除的事件和属性rd.obj(REDIPS.drag.obj)来获取id,并将其与简单的javascript一起使用,如getAttribute('id')


})

在StackOverflow中没有迟到的回答。即使我不再使用该库,并且搬到了另一家公司——除非我们谈论的是过时的技术,否则答案可以帮助将来使用该库的任何人,他们将面临类似的问题。谢谢你花时间回答。当我找到一些空闲时间时,我会检查解决方案,如果我看到它工作正常,我会给你正确的答案(你也可以提供一个JSFIDLE演示,让这个过程更快)
"use strict";

// define redips object container
var redips = {};

redips.init = function () {
    // reference to the REDIPS.drag library and message line
    var rd = REDIPS.drag,
        msg = document.getElementById('msg');
    // initialization
    rd.init();
    // 
    // ... more irrelevent code ...
    // 
    // row event handlers
    //
    // row clicked (display message and set hover color for "row" mode)
    rd.event.rowClicked = function () {
        msg.innerHTML = 'Clicked';
    };
    // row row_dropped
    rd.event.rowDropped = function () {
        msg.innerHTML = 'Dropped';
    };

    // and so on...
};


// function sets drop_option parameter defined at the top
redips.setRowMode = function (radioButton) {
    REDIPS.drag.rowDropMode = radioButton.value;
};


// add onload event listener
if (window.addEventListener) {
    window.addEventListener('load', redips.init, false);
}
else if (window.attachEvent) {
    window.attachEvent('onload', redips.init);
}
redips.init = function () {
// reference to the REDIPS.drag library and message line
var rd = REDIPS.drag,
    msg = document.getElementById('msg');
// initialization
rd.init();

// row clicked (display message and set hover color for "row" mode)
rd.event.clicked = function () {
    msg.innerHTML = 'Clicked' + rd.obj.getAttribute('id');
};
// row row_dropped
rd.event.dropped = function () {
    msg.innerHTML = 'Dropped' + rd.obj.getAttribute('id');
};