好吧,这给我带来了很多问题。
当使用-webkit-transform
带有任何类型的 3d 旋转(例如rotateY(30deg)
)的 css3 样式时,将点击事件绑定到这个旋转的对象是极其不可靠的。
请参阅下面的示例代码或查看此小提琴(要查看小提琴中的不可靠性,请单击元素右侧)。此示例没有动画,但仍然受到影响。
html:
<div id='box1'>Click this box.</div>
CSS:
#box1{
-webkit-transform: rotateY(30deg);
}
jQuery:
$('#box1').click(function(){
alert('clicked box 1');
});
我所说的“不可靠”是指点击事件并不总是被抛出(取决于你点击它的位置),有时事件根本不会被抛出(无论你在哪里点击它)。
有没有办法解决或避免这种情况,以便在旋转和动画时与 CSS3 元素一起使用?
更新:
在元素上使用 CSS 属性 'float:left' 似乎可以让它正确地检测点击事件*而不是运动。有谁知道为什么浮动属性解决了这个问题?
我的最终目标是让对象在运动时接收点击事件,但是,当我应用新的 CSS3 rotate3d 属性(实时,在另一个 jquery 事件上)给对象动画时,点击事件再次开始失败。