【问题标题】:jQuery IE7 Modal wierdnessjQuery IE7 模态怪异
【发布时间】:2011-10-07 05:03:22
【问题描述】:

我有 2 个通过按钮点击触发的模式窗口。它们在除 IE7 之外的所有浏览器中都能正常工作(未在此测试过)

我只能在演示中演示基本功能,但这里可以。第一个模式对话框工作正常,如果您单击“从服务器加载数据”它应该关闭。第二种模式根本不起作用。在演示中,当您单击“从服务器加载数据”时,它什么也不做。 (在我的本地副本上单击它会删除模态背景 div,wtf?)

真正的曲线球出现在您首先打开第二个模态对话框窗口时。然后两种模式都可以正常工作。这真的让我着迷(该死的 IE7)

我正在使用 .live 来点击模态窗口中的表格行。我需要保持这种状态,以便将数据正确发送到表单。

小提琴在这里:http://jsfiddle.net/clintongreen/5DJxv/10/

【问题讨论】:

    标签: jquery internet-explorer modal-dialog


    【解决方案1】:

    以下代码在 IE7 中不起作用:

    $('#find_address_postal').click (function () {
    $('.modal_form_postal').dialog('open');
    $('table#table-data').attr( 'id', 'table-data_postal' );
    $('table#table-data_pobox').attr( 'id', 'table-data_postal' );
    $('td.address_street').removeClass("address_street").addClass("address_street_postal");
    $('td.address_suburb').removeClass("address_suburb").addClass("address_suburb_postal");
    $('td.address_city').removeClass("address_city").addClass("address_city_postal");
    $('td.address_code').removeClass("address_code").addClass("address_code_postal");
    $('td.address_street_pobox').removeClass("address_street_pobox").addClass("address_street_postal");
    $('td.address_suburb_pobox').removeClass("address_suburb_pobox").addClass("address_suburb_postal");
    $('td.address_city_pobox').removeClass("address_city_pobox").addClass("address_city_postal");
    $('td.address_code_pobox').removeClass("address_city_pobox").addClass("address_code_postal");
    $('label#suburb_search').css('display','none');
    $('label#street_search').css('display','inline');
    $('input#street_description').css('width','330px');
    }); //end click handler
    
    $('#find_address').click (function () {
    $('.modal_form').dialog('open');
    $('table#table-data_postal').attr( 'id', 'table-data' );
    $('table#table-data_pobox').attr( 'id', 'table-data' );
    $('td.address_street_postal').removeClass("address_street_postal").addClass("address_street");
    $('td.address_suburb_postal').removeClass("address_suburb_postal").addClass("address_suburb");
    $('td.address_city_postal').removeClass("address_city_postal").addClass("address_city");
    $('td.address_code_postal').removeClass("address_city_postal").addClass("address_code");
    $('td.address_street_pobox').removeClass("address_street_pobox").addClass("address_street");
    $('td.address_suburb_pobox').removeClass("address_suburb_pobox").addClass("address_suburb");
    $('td.address_city_pobox').removeClass("address_city_pobox").addClass("address_city");
    $('td.address_code_pobox').removeClass("address_city_pobox").addClass("address_code");
    $('label#suburb_search').css('display','none');
    $('label#street_search').css('display','inline');
    $('input#street_description').css('width','330px');
    }); //end click handler
    

    这以前在所有浏览器中都有效,但是当我们实现 DataTables.js 时,我的代码不再对两个表都使用 1 个模式对话框。所以我创建了 2 个模态对话框,一旦完成,上面的代码似乎只在 IE7 中冲突(以及 prob 6 也是)。无论如何,在咬牙切齿之后,我将上面的代码减少到下面,现在一切正常:)

    $('#find_address_postal').click (function () {
    $('.modal_form_postal').dialog('open');
    }); //end click handler
    
    $('#find_address').click (function () {
    $('.modal_form').dialog('open');
    }); //end click handler
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多