jQuery Dialog moveToTop问题

时间:2013-07-22 23:14:46

标签: jquery jquery-ui jquery-ui-dialog

jQuery UI v1.10似乎在页面上堆叠多个对话框时出现问题,当单击任何对话框时,它会刷新所有打开的对话框。

这是一些小提琴。使用相同的代码:

HTML

<div id="div1" class='d' data-isrc='http://www.slashdot.org'>
</div>
<div id="div2" class='d' data-isrc='http://www.cnn.com'>
</div>

JS

var opts = {
    height: 200,
    width: 300,
    autoOpen: true,
    open: function(){
        var src = $(this).data("isrc"),
            $iframe = $("<iframe seamless='seamless' src='" + src + "'>");

        console.log(src);
        $(this).append($iframe);

    }
};
$("#div1").dialog(opts);

$("#div2").dialog(opts);

这个小提琴正在使用jQuery 1.9.1和jQueryUI 1.9.2,并且表现我需要的方式:http://jsfiddle.net/REmJb/

这个小提琴使用jQuery 2.0.2和jQueryUI 1.10.3,并显示问题:http://jsfiddle.net/UBV4v/

如何在新的jQuery框架上使上述链接顺利运行[无需刷新]?

ETA: 这似乎被追溯到insertBefore()方法的新方法。引用the documentation

  

在jQuery 1.9之前,追加到单个元素的情况并没有创建   新的设置,但返回原来的设置,这使它变得困难   与未知使用时可靠地使用.end()方法   元素数量。

...但问题不存在于v1.9,所以也许不存在。

1 个答案:

答案 0 :(得分:1)

这是我添加到我的脚本中以禁用此行为。

jQuery.ui.dialog.prototype._moveToTop = function(event, silent) {
    return true;
};

My Question