javascript - 可拖动 DIV(使用 gridster.js)和内联编辑不起作用

标签 javascript html jquery-ui draggable gridster

我想用 gridster 构建一个可拖动的网格并希望在每个可拖动的 DIV 中启用 contenteditable = true。但目前我只能拖动 DIV,似乎 gridster.js 正在否决点击事件或其他东西,所以 contenteditable = true 参数无法识别我点击分区。

我试图定义一个可拖动的句柄,这样 DIV 就可以用那个句柄拖动(这适用于 jQuery UI 可拖动),但这也不起作用。

是否可以拖动 DIV,当用户双击时,他点击的 DIV 可以编辑?

我的 HTML 代码如下:

<div class="gridster">
    <ul>
        <li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
            <div contenteditable="true">Test 1</div>
            <span class="drag-handle">HAND</span>
        </li>
        <li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
            <div contenteditable="true">Test 2</div>
            <span class="drag-handle">HAND</span>
        </li>
        <li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
            <div contenteditable="true">Test 3</div>
            <span class="drag-handle">HAND</span>
        </li>
    </ul>
</div>

我的 js 看起来像:

$(document).ready(function() {
    var grid = $(".gridster ul").gridster({
        max_cols: 2,
        widget_margins: [10, 2],
        widget_base_dimensions: [140, 40],
        resize: {
            enabled: true,
            axes: ['x']
        },
        draggable: {
            handle: '.drag-handle'
        }
    })

    $("li").dblclick(function() {
        grid.data('gridster').disable();
        $(this + " p").attr("contenteditable","true");
    });
});

目前,双击后 gridster.js 将被禁用,但之后内容不可编辑。

编辑: focus() 事件似乎有问题。当我显式注册 click() 事件并在可编辑元素上调用 focus() 时,我就可以编辑文本了!

最佳答案

Gridster.js 拖动和调整大小处理程序拦截 selectstart 事件并通过返回 false 取消进一步传播,除非它们两者都被禁用。要存档调用 gridster.disable(); gridster.disable_resize(); 然后启用它们

关于javascript - 可拖动 DIV(使用 gridster.js)和内联编辑不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21535069/

相关文章:

javascript - 在 "onSelectedIndexChanged"上调用 jquery 函数

html - 如何解决不同版本的 IE 之间的 css 不兼容性/差异?

javascript - iframe 的 History.replaceState 问题

javascript - APEX 中的 Jquery UI 自动完成

javascript - 拦截并预处理 jQuery-ui 自动完成数据

jquery-ui - 可调整大小的 tinyMCE 实例不适用于 jqueryUI 的 .draggable

javascript - 无法获取 setTimeOut 内的 conversationState 属性值

javascript - 无限轮播 - 使用 setInterval

javascript - 当我在 HTML 中使用按钮标签调用 Javascript 函数(该函数又使用 Jquery)时,Jquery 失败

jquery - 如何使输入类型文本看起来像选择下拉列表?