因此,请使用ios 5 / mobile safari 5或模拟器查看http://www.toyota.ca/toyota/en/vehicles/yaris-hatchback/gallery,按下底部滚动条上的图像,然后弹出一个灯箱。尝试按下一个按钮,你注意到没有任何反应。现在,如果您放大/缩小或更改方向或滚动页面,图像将会改变。
js有效,因为当您按下它们时,下一个/上一个将被启用/禁用,但在进一步操作之前它不会执行动画部分。为什么是这样?这是常见的吗?如果您在ios 4上尝试相同的页面,它将正常工作。
答案 0 :(得分:1)
请勿使用click()
处理程序,请使用mousedown()
处理程序。
移动设备很难辨别click()
和mousedown()
。
必要的更改是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
一劳永逸地清除处理程序。