jQuery .load content然后.toggle它没有ajax请求

时间:2013-08-18 18:20:43

标签: jquery ajax

我有一个按钮。当我点击它内容加载。当我在内容切换后点击它(显示:无)。但它仍然发送了ajax请求。

如何检查内容是否已加载以在没有ajax请求的情况下开始切换?

<div id="morechan">
    <a id="btnC" href="#" title="Kanalu saraksts"><i class="icon-caret-down"></i></a>
</div>
<div id="channel-list">
</div><!-- end channel-list -->

(function($) {
  $("#btnC").click(function() {
    $('#channel-list').html('loading...').load('channels.html');
  }); 
})(jQuery);

1 个答案:

答案 0 :(得分:3)

我建议设置一个数据属性并对其进行测试,如果未设置则阻止加载

$("#btnC").click(function() {
   if( typeof( $('#channel-list').data("contentLoaded") ) != "undefined" ) {
       //Do toggle code here.
       return;
   } else {
       //Do load code here.
       $('#channel-list').load("http://www.someurl.com",function() {
          $(this).data("contentLoaded",true);
       });
   }
});

如果/需要重新加载内容,请将contentLoaded设置为false,并检查点击事件中的truefalse是否正确。

var contentLoaded = $('#channel-list').data("contentLoaded");
if( typeof( contentLoaded ) != "undefined" && contentLoaded ) {
   //Do toggle code here.
   return;
}