【问题标题】:jQuery Sortable - iFrame SRC not in DOMjQuery Sortable - iFrame SRC 不在 DOM 中
【发布时间】:2012-09-17 13:44:33
【问题描述】:

我有类似于

的小部件/portlet
<div id="100" class="portlets">
     <iframe src="widgets/widget1_iframe.html"></iframe>
</div>

每个 iFrame 中都有另一个 iFrame。我可以添加多个小部件/portlet 并对其进行排序。

我有一个脚本(对于每个更改)获取初始 iFrame 的 SRC(因此在本例中为 widgets/widget1_iframe.html)和 iFrame 中 iFrame 的 SRC(在我的测试版本,它会提醒用户)。

所以使用之前的示例,假设我添加了一个新的以具有类似的东西

<div id="200" class="portlets">
     <iframe src="widgets/widget2_iframe.html"></iframe>
</div>

然后我决定将第二个移到第一个之上。我的脚本正确显示 widgets/widget2_iframe.html 但随后 iframe 中的 iframe 没有显示任何内容。然后它会正确显示 widgets/widget1_iframe.html 以及该 iframe 中的 iFrame。

我进行了检查,但小部件/portlet 中的 iFrame(在 iframe 内)对 DOM 不可用。

所以基本上,如果我有 100 个 portlet,我添加并移动了一个,它会向我显示除已移动的小部件/portlet 的 iframe 中的 iframe 之外的所有正确信息。下面是我的 sortable 函数的 stop 事件

stop: function (event, ui) {
    var sortorder = '';
    $('.' + opts.columnClass).each(function () {
        var itemorder = $(this).sortable('toArray');
        sortorder += itemorder.toString();
    });

    var substr = sortorder.split(',');

    jQuery.each(substr, function () {
            $.post("process.php", {
                widget: $('div#' + this + ' div.widgetcontent iframe').attr("src"),
                iframe: $('div#' + this + ' div.widgetcontent iframe').contents().find('iframe').attr("src")

            }, function (data) {
                alert("Data Loaded: " + data);
            });

    });

基本上 - 没有为已移动的小部件/portlet 传递 iFrame 的值

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-sortable


    【解决方案1】:

    我在stop: function(event, ui) { 之后直接延迟了 1 秒,这似乎对它进行了排序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多