首页 \ 问答 \ jQuery拖放模拟插件(jQuery Drag & Drop Simulate Plugin)

jQuery拖放模拟插件(jQuery Drag & Drop Simulate Plugin)

提前谢谢你看看这个! 我无法通过此处的扩展插件模拟jQuery UI提供的拖放功能:

https://github.com/j-ulrich/jquery-simulate-ext/blob/master/doc/drag-n-drop.md

该文档使用我修改的以下内容来满足我的需求:

$('#draggableDiv').simulate("drag", {dragTarget: otherDiv});

Changed to this:
$('#placeme').simulate("drag", {dragTarget: $("#page1")});

我的警报消息永远不会弹出,因此很明显drop函数永远不会被触发,我不知道为什么。 手动将对象拖动到page1正常运行。

JSFiddle: http//jsfiddle.net/d2fdvxhz/8/

HTML:

<div class="container">
    <div id="view-port">
        <div id="placeme" class="droppableShape">
            <img src="https://upload.wikimedia.org/wikipedia/en/6/6f/Smiley_Face.png" width="25" height="25" />
        </div>
        <button id="testme">Simulate Drop</button>
        <div class="page" id="page1" style="background-image: url(http://images.huffingtonpost.com/2012-08-15-1CanvasPanelInstall5psd.jpg);"></div>
        <!-- Pages Here -->
    </div>
</div>

JS:

$(document).ready(function(){
     $(".droppableShape").draggable({
            helper:'clone'
     });

    $(".page").droppable({
        accept: ".droppableShape",
        tolerance: 'fit',
        drop: function(event,ui){
            alert("Drop Detected");

            var new_field = $(ui.helper).clone().removeClass('droppableShape');
            var droppable_page = $(this);
            var droppableOffset = $(this).offset();
            new_field.css('top', ui.position.top - droppableOffset.top);
            new_field.css('left', ui.position.left - droppableOffset.left);

            // Set Draggable Options
            new_field.draggable({
                containment: droppable_page,
                stop: function(event, ui) {
                    // Save position after dragging stops
                    $(this).data("x_cord", ui.position.left);
                    $(this).data("y_cord", ui.position.top);
                    $(this).draggable( "disable" );
                }
            });

            // Add to drop area
            $(this).append(new_field);
        }
    });

    $( "#testme" ).click(function() {
        $('#placeme').simulate("drag", {
            dragTarget: $("#page1")
        });
        console.log("Simulate Attempted");
    });
});

Thank you in advance for taking a look at this! I am having trouble simulating the drag & drop feature provided by jQuery UI via the extended plugin found here:

https://github.com/j-ulrich/jquery-simulate-ext/blob/master/doc/drag-n-drop.md

The documentation uses the following to which I modified to suite my needs:

$('#draggableDiv').simulate("drag", {dragTarget: otherDiv});

Changed to this:
$('#placeme').simulate("drag", {dragTarget: $("#page1")});

My alert message never pops up, therefore it is evident that the drop function is never fired, I'm not sure why. Manually dragging the object to page1 behaves normally.

JSFiddle: http://jsfiddle.net/d2fdvxhz/8/

HTML:

<div class="container">
    <div id="view-port">
        <div id="placeme" class="droppableShape">
            <img src="https://upload.wikimedia.org/wikipedia/en/6/6f/Smiley_Face.png" width="25" height="25" />
        </div>
        <button id="testme">Simulate Drop</button>
        <div class="page" id="page1" style="background-image: url(http://images.huffingtonpost.com/2012-08-15-1CanvasPanelInstall5psd.jpg);"></div>
        <!-- Pages Here -->
    </div>
</div>

JS:

$(document).ready(function(){
     $(".droppableShape").draggable({
            helper:'clone'
     });

    $(".page").droppable({
        accept: ".droppableShape",
        tolerance: 'fit',
        drop: function(event,ui){
            alert("Drop Detected");

            var new_field = $(ui.helper).clone().removeClass('droppableShape');
            var droppable_page = $(this);
            var droppableOffset = $(this).offset();
            new_field.css('top', ui.position.top - droppableOffset.top);
            new_field.css('left', ui.position.left - droppableOffset.left);

            // Set Draggable Options
            new_field.draggable({
                containment: droppable_page,
                stop: function(event, ui) {
                    // Save position after dragging stops
                    $(this).data("x_cord", ui.position.left);
                    $(this).data("y_cord", ui.position.top);
                    $(this).draggable( "disable" );
                }
            });

            // Add to drop area
            $(this).append(new_field);
        }
    });

    $( "#testme" ).click(function() {
        $('#placeme').simulate("drag", {
            dragTarget: $("#page1")
        });
        console.log("Simulate Attempted");
    });
});

原文:https://stackoverflow.com/questions/32892083
更新时间:2022-07-10 08:07

最满意答案

使用dialogClass将类添加到要显示关闭按钮的ui对话框,然后根据该类添加要显示的css:

https://jsfiddle.net/jmcjzkyv/


Add a class using dialogClass to the ui dialog you want to show the close button and then add css to show based on that class:

https://jsfiddle.net/jmcjzkyv/

相关问答

更多

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。