首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jeditable + keytables clickevent

Jeditable + keytables clickevent
EN

Stack Overflow用户
提问于 2012-11-27 19:38:19
回答 1查看 791关注 0票数 0

我在我的表中使用了插件keyTables和jeditable。

我可以在网格中导航并激活带有return的jeditable。但是,如果一次激活一个单元格,我只需在单元格上单击一下就可以启用jeditable。

出了点问题。

http://datatables.net/release-datatables/extras/KeyTable/editing.html

这是演示,运行良好。

我的小提琴:http://jsfiddle.net/jGC4J/

这是演示代码和我使用的代码:

代码语言:javascript
复制
$(document).ready( function () {
var keys = new KeyTable( {
    "table": document.getElementById('example')
} );

/* Apply a return key event to each cell in the table */
keys.event.action( null, null, function (nCell) {
    /* Block KeyTable from performing any events while jEditable is in edit mode */
    keys.block = true;

    /* Initialise the Editable instance for this table */
    $(nCell).editable( function (sVal) {
        /* Submit function (local only) - unblock KeyTable */
        keys.block = false;
        return sVal;
    }, { 
        "onblur": 'submit', 
        "onreset": function(){ 
            /* Unblock KeyTable, but only after this 'esc' key event has finished. Otherwise
             * it will 'esc' KeyTable as well
             */
            setTimeout( function () {keys.block = false;}, 0); 
        }
    } );

    /* Dispatch click event to go into edit mode - Saf 4 needs a timeout... */
    setTimeout( function () { $(nCell).click(); }, 0 );
} );
} );

代码和插件是一样的。我应该只能编辑一个带有返回事件的单元格,而不只是一次单击。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-28 03:51:23

简单..。

添加

代码语言:javascript
复制
 $(nCell).editable('destroy');

代码语言:javascript
复制
/* Apply a return key event to each cell in the table */
            keys.event.action( null, null, function (nCell) {
                /* Block KeyTable from performing any events while jEditable is in edit mode */
                keys.block = true;

                /* Initialise the Editable instance for this table */
                $(nCell).editable( function (sVal) {
                    /* Submit function (local only) - unblock KeyTable */
                    keys.block = false;
                    // INSERT HERE //
                    return sVal;
                }, { 
                    "onblur": 'submit', 
                    "onreset": function(){ 
                        /* Unblock KeyTable, but only after this 'esc' key event has finished. Otherwise
                         * it will 'esc' KeyTable as well
                         */
                        setTimeout( function () {keys.block = false;}, 0); 
                    }
                } );

                /* Dispatch click event to go into edit mode - Saf 4 needs a timeout... */
                setTimeout( function () { $(nCell).click(); }, 0 );
            } );

会让它工作起来。

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

https://stackoverflow.com/questions/13583410

复制
相关文章

相似问题

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