javascript - 使用 jQuery 第一次调整大小后,drop 和 resize 似乎不起作用

标签 javascript jquery html css

开发者早上好:-)

如果我在第一次调整大小后将鼠标移开,我将无法再调整大小...而且,在第一次调整大小后,我也无法删除该 div...

我使用 Laravel 和 jQuery。

参见 the jsFiddle demo

我希望能够一次又一次地调整大小...

这里是 JS 代码(jsFiddle 会告诉你完整的代码):

$("#creneau"+i+"-"+j).droppable({
    appendTo: "body",
    tolerance: "pointer",
    accept: ".external-event",
    drop: function(event, ui) {
        var draggableEvent = null;
        if($(ui.draggable).hasClass("cloneable")){
            var drg = ui.draggable.clone();
            $(drg).addClass("moveable");
            $(drg).removeClass("cloneable");
            drg.resizable({
                handles: 'e, w',
                        resize: function(event, ui) {
                            $(this).empty();
                            $(this).append($(this).position().left);
                            $(this).append("<div style=\"z-index: 90; display: block;\" class=\"ui-resizable-handle ui-resizable-e\"></div>");
                            $(this).append("<div style=\"z-index: 90; display: block;\" class=\"ui-resizable-handle ui-resizable-w\"></div>");
                        }
            });
            drg.draggable({
                appendTo: "#hours-creneau",
                cursor: "move",
                helper: 'clone',
                revert: "invalid"
            });
            draggableEvent = $(ui.draggable);
        }else if($(ui.draggable).hasClass("moveable")){
            $(this).append($(ui.draggable));
            draggableEvent = $(ui.draggable);
        }
        $(this).append(drg);
    }
});

和 html :

        <div id='external-events'>

            <h4>Draggable States</h4>

                <span class='external-event cloneable'>State1</span>
                <span class='external-event cloneable'>State2</span>
                <span class='external-event cloneable'>State3</span>
                <span class='external-event cloneable'>State4</span>

        </div>
        <div id="tables-events">

            <div id="hours-creneau">
                <div id="hours"></div>
                <div id="creneau" class="draggable"></div>
            </div>
        </div>

非常感谢!

编辑:我自己回答

我还不能发布答案,但我会编辑这条消息:

首先,div 在调整大小时似乎添加了“顶部、左侧和绝对 css”。所以我删除了左侧和顶部:

$(this).css("top", "");
$(this).css("left", "");

并且在调整大小后再次放置。

对于在第一次调整大小后禁用的调整大小,这是因为我在 div 中附加了文本...不知道真正的原因,但它“破坏”了可调整大小的事件。

感谢大家的帮助。

最佳答案

我自己回答,我分享答案。

首先,div 在调整大小时似乎添加了“顶部、左侧和绝对 css”。所以我删除了左侧和顶部:

$(this).css("top", "");
$(this).css("left", "");

并且在调整大小后再次放置。

对于第一次调整大小后禁用的调整大小,这是因为我在 div 中附加了文本...不知道真正的原因,但它“破坏”了可调整大小的事件。

感谢大家的帮助。

关于javascript - 使用 jQuery 第一次调整大小后,drop 和 resize 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23213249/

相关文章:

javascript - 如何使用javascript onmouseover 缓慢放大图像

javascript - 如何将页面加载到页面中间(而不是顶部)?

javascript - AngularJS 身份验证与 Spring Security CORS 问题

javascript - jQuery .on click 事件不发生

javascript - 获取谷歌地图标记的坐标

javascript - 等高和媒体查询

javascript - 如何在不影响页面布局的情况下使用 jQuery 扩展框大小

html - 侧边栏定位问题

javascript - 如何在 PHP 中为 JavaScript/CSS 文件回显通用相对路径?

c# - 获取使用 asp 注册的脚本引用列表 :ScriptManager