2011-05-09 120 views
2

我有这个手风琴,我有负载的部分内容ajaxly第一次开放。它在ff,即8,以及几乎每个浏览器都很好用。但在IE 9中,如果我点击箭头/三角形,它不会。jquery ui手风琴ajax麻烦

我七拼八凑,最多像这样:

$("#accordian").accordion({ 
     collapsible: true, 
     autoHeight: false, 
     active : false, 
     changestart: function (event, ui) { 
      var clicked = $(this).find('.ui-state-focus').attr('id'); 
      if (clicked != "") { 
       var alreadyLoaded = $('#' + clicked).attr('alreadyLoaded'); 
       if (alreadyLoaded == "false") { 
        var divToLoad = $('#' + clicked).attr('divToLoad'); 
        var url = $('#' + clicked).attr('urlToLoadMe'); 

        $('#' + divToLoad).load(url, function() { 
         //do some post load stuff 
        }); 
        $('#' + clicked).attr('alreadyLoaded', "true"); 
       } 
      } 

     } 

    }); 

我的手风琴看起来是这样的:

<div id="accordian" style="height:400;"> 

      <h1 style="padding-left:25px;padding-top:5px; padding-bottom:5px;font-weight:bold;" id="ContactInformationHeader" urlToLoadMe="a url is here" alreadyLoaded="false" divToLoad="ContactInformationSearchSectionDiv">Contact Information</h1> 
      <div id="ContactInformationSearchSectionDiv"> 
       loading 
      </div> 
    </div> 
多用一些章节

明显...但是这并不重要。

它工作在Firefox(3.x和4),即8,但不9.如果我点击任何地方,但它的工作原理的小三角!

好像做错事是获得UI的状态,主动或什么的。任何人有类似的问题?想法?帮帮我?

的jQuery 1.4.1版 jQuery UI的版本1.8.11

编辑: 我已经将范围缩小到这一点:在IE 9,这似乎是之前.ui-state-focus被分配给changestart被解雇一切,B/C它是空的。同样是ui-state-active

回答

1

我修改changestart来改变它,所以它会在稍后激发。这意味着ajax的加载有一点点延迟,但是这样更容易接受,然后点击箭头根本就没有得到它!