当用户使用Firefox无意中双击下面示例中的表行或锚点时,“生成”效果将停止,页面将变为不可用。有关如何强制FF忽略双击的任何建议?我尝试使用Prototype的Stop.event,这似乎没有帮助。
<table border=1>
<tr onclick="Effect.Grow('floater');">
<td>Some Text</td>
<td><a href="#" onclick = "Effect.Grow('floater');return false;">1</a></td>
<td><a href="#" onclick = "Effect.Grow('floater');return false;">2</a></td>
</tr>
</table>
<div id = "floater" style="display:none;width:100%;height:100%;background-color:red">
<a href="#" onClick="Effect.Shrink('floater');return false;">close floater</a><div>
答案 0 :(得分:2)
问题是script.aculo.us或Prototype处理双击作为普通点击,第二次触发Grow效果并破坏元素的定位。 使用scriptaculous.js(1.8.2)的一个简单补丁(见下文),我得到了它的工作,但对于你的具体问题,它更像是一个快速和肮脏的修复:
760,763d759
< if(element.growing){
< return;
< }
< element.growing=true;
829d824
< element.growing=false;
答案 1 :(得分:0)
我没有使用过script.aculo.us,所以我对实际的代码无能为力,但执行以下操作应该相当简单。当触发onClick时,您应该在开始收缩之前从锚点中删除该事件。完成此效果后,再次将事件添加回锚点。