简单的jQuery droppable无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的jQuery droppable无法正常工作相关的知识,希望对你有一定的参考价值。

Draggable可以在这里工作,但是当我将DIV拖到可放置区域时,警报功能不会被触发。我确定这是愚蠢的事,但也许有人可以阻止我把我的头撞到墙上,我做得对不对?

<head>
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
            <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
            <title></title>
        </head>
        <body>

    <script>
            $(function() {
                $( ".draggable" ).draggable();
                $( ".droppable" ).droppable({
                    drop: function(event, ui) {
                        alert('dropped');
                    }
                });
            });
    </script>

        <div id=10 class="draggable">one</div>

        <div id="trash" class="droppable"></div>



        </body>
        </html> 
答案

问题在于,默认情况下,元素的中心用于确定元素的放置位置。您的div没有定义的大小,因此它是屏幕的宽度。如果您设法删除它以使该元素的中心位于droppable中,您将看到警报。

这种背景颜色的小提琴说明了这个问题。

http://jsfiddle.net/v6PME/

使用定义的宽度,您将看到您可能正在寻找的功能:

http://jsfiddle.net/v6PME/1/

注意:我已经假设你已经省略了你的css和#trash div有一些大小,所以它可以被丢弃。

另一答案

它似乎失败了,因为你的droppable div似乎没有任何宽度,所以你不可能丢弃任何东西。我拿了你的例子并稍微修改它,我能够让它工作:

<html>
<head>
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
            <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
            <title></title>
        </head>
        <body>

    <script>
            $(function() {
                $( ".draggable" ).draggable();
                $( ".droppable" ).droppable({
                    drop: function(event, ui) {
                        alert('dropped');
                    }
                });
            });
    </script>

        <div id=10 class="draggable">one</div>

        <div id="trash" class="droppable">DROP HERE</div>



        </body>
        </html>
另一答案

James Montagne answer是对的。特别是它不工作的原因(谢谢!)。

然而,在我看来,更好的解决方案是通过将qazxsw poi of droppable设置为qazxsw poi来增加跌落预测。

tolerance

以上是关于简单的jQuery droppable无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

拖动到滚动 div 时,Scriptaculous Draggable/Droppable 脚本无法正常工作

jquery UI droppable 和 sortable 不起作用?

检查 droppable 是不是已经包含另一个可拖动元素(jQuery UI)

jQuery UI droppable:悬停时调整元素大小不起作用

防止jquery draggable跳入可调整大小的droppable

使用 jquery-ui droppable 时,如何从 droppable 区域中删除已经删除的项目?