weixin_33709219 2017-11-07 14:59 采纳率: 0%
浏览 43

点击触发功能

I have a series of DIVs like this:

<div class="a" onclick="Test();"></div>
<div class="b" onclick="Test();"></div>
<div class="c" onclick="Test();"></div>
...

function Test(){
...
$.ajax({
   type: "POST",
   url: url,
   data: "somedata=" + somedata,
   contentType: 'application/x-www-form-urlencoded; charset=utf-8',
   dataType: "html",
   success: function (msg) {           
      var owl = $('.carousel-Class');
      owl.trigger('destroy.owl.carousel');
      owl.owlCarousel({
         ...
      })  
}

and I want trigger this function on page load on a specific div (I.E. div with class 'b'):

$(document).ready(function(){
    $(".b").trigger('click');
})

The result is that the Owl Carousel items don't appear correctly, they have different size than they should have. For appear correctly I need to do an extra click on the DIV.

Any idea?

  • 写回答

1条回答 默认 最新

  • 衫裤跑路 2017-11-07 15:19
    关注

    Why simulate the trigger and not just call the function Test() on your ready() function.

    Something like this:

    $(document).ready(function(){
        Test();
    })
    

    However it seems you have a concurency problem, try putting:

    async: false
    

    as a parameter of your ajax call to confirm it.

    评论

报告相同问题?