Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet Explorer上的Jquery UI可拖放行为_Jquery_Jquery Ui_Internet Explorer_Jquery Ui Droppable - Fatal编程技术网

Internet Explorer上的Jquery UI可拖放行为

Internet Explorer上的Jquery UI可拖放行为,jquery,jquery-ui,internet-explorer,jquery-ui-droppable,Jquery,Jquery Ui,Internet Explorer,Jquery Ui Droppable,有人能解释一下为什么与Chrome和FF相比,下面这个最简单的测试在IE上的表现有所不同吗 具体来说,在IE上,当黄色框落在红色框上时,红色框会移动 (奇怪的是,当我要求IE模仿IE7时,这段代码似乎像预期的那样工作,但奇怪的行为出现在IE8、9和10上) 你知道为什么吗?有什么办法可以让行为保持一致吗 <!DOCTYPE html> <html> <head> <style> .DropBox {

有人能解释一下为什么与Chrome和FF相比,下面这个最简单的测试在IE上的表现有所不同吗

具体来说,在IE上,当黄色框落在红色框上时,红色框会移动

(奇怪的是,当我要求IE模仿IE7时,这段代码似乎像预期的那样工作,但奇怪的行为出现在IE8、9和10上)

你知道为什么吗?有什么办法可以让行为保持一致吗

<!DOCTYPE html>
<html>
    <head>
        <style>
            .DropBox {
                float: left;
                width: 75%;
                line-height: 70px;
                text-align: center;
                background-color: yellow;
            }

            .TargetBox {
                margin-left: 80%;
                width: 20%;
                line-height: 70px;
                text-align: center;
                background-color: red;
            }
        </style>

        <script>
            $(function () {
                $(".DropBox").draggable({revert: "invalid" });
                $(".TargetBox").droppable({
                    drop: function (event, ui){
                        $(ui.helper).hide("highlight",2000);}
                });
            });
        </script>
    </head>

    <body>
        <div class="DropBox">Drop Me</div>
        <div class="TargetBox">Drop Here</div>
    </body>
</html>

.升降箱{
浮动:左;
宽度:75%;
线高:70px;
文本对齐:居中;
背景颜色:黄色;
}
.目标箱{
左缘:80%;
宽度:20%;
线高:70px;
文本对齐:居中;
背景色:红色;
}
$(函数(){
$(“.DropBox”).draggable({revert:“invalid”});
$(“.TargetBox”)。可拖放({
drop:函数(事件、用户界面){
$(ui.helper).hide(“highlight”,2000);}
});
});
放下我
到这里来

我在IE11的JSFIDLE中执行了您的代码,但正如预期的那样,它没有工作。投递箱不可拖动

我自己在JSFIDLE中做了一些更改。幸运的是,我能够使它在IE11和Firefox中工作:

以下是这些变化的摘要:

  • 我将draggable的revert属性更改为“true”-这样它就有了一个明确的布尔值
  • 在框架和扩展下拉列表中,我选择了“无库(纯JS)”
  • 在外部资源选项卡中,我添加了ffg:
  • 这些资源基本上是来自JQuery站点中可拖动示例的引用:


    谢谢你,罗曼,你的编辑肯定解决了一些问题。虽然我最初的问题仍然存在。即使在你的代码中。具体来说,如果你在IE上运行代码,“放在这里”框向右移动2秒钟,“放我”框就会消失。这不会发生在FF的任何一个Chrome中。
    $(function () {
        $(".DropBox").draggable({
            revert: false
        });
        $(".TargetBox").droppable({
            drop: function (event, ui) {
                $(ui.helper).hide("highlight", 2000);
            }
        });
    });