mobilesafari 5在下一次行动之前没有响应js事件

mobile safari 5 not responding to js events until further acton

本文关键字:事件 js 响应 一次 mobilesafari      更新时间:2023-09-26

所以请查看http://www.toyota.ca/toyota/en/vehicles/yaris-hatchback/gallery使用ios5/mobilesafari5或模拟器,按下底部滚动条上的图像,就会弹出一个灯箱。试着按下下一个按钮,你注意到什么都没发生。现在,如果放大/缩小、更改方向或滚动页面,图像就会发生变化。

js之所以有效,是因为当你按下它们时,next/prev将变为启用/禁用,但在进一步操作之前,它不会执行动画部分。为什么会这样?这很常见吗?如果你在ios 4上尝试相同的页面,它会很好。

不要使用click()处理程序,使用mousedown()处理程序。

移动设备很难在CCD_ 3和CCD_。

必要的更改是common.js中的第472行,更改

var o=p(f,c.prev).click(function(){b.prev()}),q=p(f,c.next).click(function(){b.next()});

var o=p(f,c.prev).mousedown(function(){b.prev()}),q=p(f,c.next).mousedown(function(){b.next()});

或者,对于每个这样的导航按钮,在创建时,使用:

 $(selector).bind('mousedown',$(selector).data("events").click[0].handler)
 $(selector).unbind('click',$(selector).data("events").click[0])

其中selector是特定元素的jQuery选择器。

或者,您可以使用$(class).off一次性清除处理程序。