0

我一直在尝试在 iOS 7 上调试这个问题,这让我发疯。我使用 iDangerous Swiper ( http://www.idangero.us/swiper/get-started/ )。使用幻灯片中的可点击按钮前进到下一张幻灯片。在该按钮单击时还有一个 AJAX 提交。我一直在尝试使用 touchstart 事件来使移动设备上的点击更加可靠。这已经成功,但在 iphone 6 (iOS 7) 上,滑动器会在第一张幻灯片移动之前闪烁/调整大小。在我测试过的所有其他浏览器上都很好。

为了调试,我尝试使用 setTimeout 将所有触发的事件延迟几秒钟,以查看是哪个事件导致它。当我延迟事件时,不会发生闪烁/调整大小。

我对可能导致此问题的原因或如何调试它一无所知。

jquery触发器如下:

var clickHandler = ('ontouchstart' in document.documentElement ? "touchstart" : "click");

// make click more reliable on mobile

$(".swiper-slide fieldset.rating > label").bind(clickHandler, function(e) {

  setTimeout(function() {

   $(this).prev('input').click()
            .siblings('input').attr('checked',false)
            .end()
            .attr('checked', true);
    return false;
  }, 0); // end timeout
});


// Advance on click
//$('.swiper-slide input:radio[name^="number"]:not(.other_text)').on('click', function(e){
$('.swiper-slide input:radio[name^="number"],a.other_done').on('click', function(e){
  //$(this).next('label').html('<i class="ss-icon1 i-smile1satsum-survey"></i>');
  setTimeout(function () {
    //alert('about to trigger move');
    mySwiper.swipeNext();
  }, 200);

});

$(document).on('change', 'fieldset.rating', function (event) {
setTimeout(function () {
    //alert('about to post data');
    console.log('posting data');
    val = $(this).children('input:checked').val();
    name  = $(this).children('input:checked').attr('name');
    base_name  = name.split("[data]")[0];
    id_name = base_name + "[id]";
    id = $('input[name="' + id_name + '"]').val();

if (id > 0) {
   json_string = "{ \"" + name + "\": \"" + val + "\", \"" + id_name + "\": \"" + id + "\" }";
} else {
   json_string = "{ \"" + name + "\": \"" + val + "\" }";
};
    json_object = JSON.parse(json_string);
url = $(location).attr('href');
number_url = url.split("/play")[0];

// Change thankyou text
if (base_name == "number[recom]") {
       if (val == 5) {
          $('.custom_thankyou').removeClass("ty_active");
          $('#custom_thankyou_p').addClass("ty_active");
   } else if (val == 4) {
          $('.custom_thankyou').removeClass("ty_active");
          $('#custom_thankyou_n').addClass("ty_active");
       } else if (val < 4) {
          $('.custom_thankyou').removeClass("ty_active");
          $('#custom_thankyou_d').addClass("ty_active");
       }
}



$.ajax({
type: "PUT",
url: number_url,
dataType: "json",
data: json_object
//})
//.done(function( msg ) {
//alert( "Data Saved: " + msg );
    });

  },400); // end settimeout
});

我也尝试过“光标:指针”修复,但没有运气。有人请给我一些想法!

4

0 回答 0