Macbook点击不在网站上工作,但Clicks呢?

时间:2012-01-18 21:37:43

标签: html flash click slider

不一定是我自己的网站,但是如果您浏览到NBA.com并查看具有左/右滑块的分数/时间表区域,是否有一个原因点击通常注册为点击不会导致滑块移动?这是一个flash bug吗?只是想出于好奇而知道。

我使用的是Google Chrome,OSX Lion,MacbookPro 13“。

1 个答案:

答案 0 :(得分:2)

我已经检查了使用点按即可调用哪些鼠标事件,其行为与“常规”点击相同 - 这是人们所期望的。这意味着Flash中没有错误,也没有从Mac OS X传递事件的方式。

所以我已经反编译了SWF并找到了原因:

按钮(ActionScript2)具有onPress()个处理程序,每个处理程序使用scrollUnitContainer()以50毫秒的间隔调用滑块函数(setInterval())。然后onRelease()处理程序再次清除间隔。无论您使用点击式鼠标还是鼠标按钮,都会正确调用这两个处理程序。

但是,

setInterval()在第一次完成间隔之前不会调用指定的函数。由于使用点击点击时MOUSE_DOWN和CLICK事件之间的时间小于50毫秒,因此永远不会执行scrollUnitContainer();当您使用触控板(或鼠标按钮)的实际点击时,MOUSE_DOWN和CLICK之间的时间足够长,可以调用一次该函数。

要解决这个问题,作者应该在设置间隔之前添加scrollUnitContainer(); - 然后在所有情况下一切都会正常工作。