首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery -从插件内部访问功能?

JQuery -从插件内部访问功能?
EN

Stack Overflow用户
提问于 2016-09-27 13:38:08
回答 1查看 33关注 0票数 0

我试图从jquery插件中调用一个函数。

示例代码是:

代码语言:javascript
复制
$("#table-2").tableDnD({
    onDragClass: "myDragClass",

    onDrop: function(table, row) {
        var rows = table.tBodies[0].rows;
        var debugStr = "Row dropped was "+row.id+". New order: ";
        for (var i=0; i<rows.length; i++) {
            debugStr += rows[i].id+" ";
        }
        $(#debugArea).html(debugStr);
    },

    onDragStart: function(table, row) {
        $(#debugArea).html("Started dragging row "+row.id);
    }
});

取自onDrop的http://isocra.com/2008/02/table-drag-and-drop-jquery-plugin/的定义是

onDrop

传递一个将在删除行时调用的函数。该函数接受两个参数:表和被删除的行。您可以使用table.tBodies.rows计算行的新顺序。

有可能把一个函数传递给这个函数吗?例:

代码语言:javascript
复制
onDrop: doWork(table, row),

其中doWork是:

代码语言:javascript
复制
function doWork (table, row) {
  var row_id = $(row).prop('id');
}

错误是get:Uncaught ReferenceError: table is not defined(…),它与我为doDrop添加的行有关。

有人知道怎么做吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-27 13:43:20

当你写

代码语言:javascript
复制
onDrop: doWork(table, row),

您是,用这些参数调用函数doWork。由于table不存在,它会抛出错误。

做你正在尝试的事情的正确方法是

代码语言:javascript
复制
onDrop: doWork,

这样,您就可以设置要调用的函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39726195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档