微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 浏览器:按下转义后继续gif动画

Firefox(以及我认为的其他浏览器)在您单击“停止”按钮或通过Escape键调用它时会停止gif动画.

我有一个文本输入,在更改时使ajax请求更新其他元素.作为这个ajaxyness的一部分,我有一个动画GIF来显示反馈.
我还在此输入中捕获转义键,以便清除文本字段以获得更好的UX.

我的问题是在按下一次转义键之后,ajax gifs都没有动画,直到刷新页面为止.有谁知道解决方法

我试过的东西:

我尝试了e.stopPropagation();和e.cancelBubble = true;在处理e.keyCode == 27的函数中,这似乎不起作用.我怀疑这会停止触发更多的js事件,浏览器会捕获转义而不管js活动.

我通过添加/删除css类来显示/隐藏gif,因此很难应用“更改gif url重置”解决方法.我甚至不知道这是否有效 – 没有测试它.但似乎很难.如果有人知道这是有效的,并且知道使用background-image应用hack的简单方法:url(../ images / ajax-loader_dotcirclel13x13.gif); css然后请告诉我.

解决方法

遗憾的是,当按下ESC键时,您无法覆盖浏览器停止动画gif的事实.我认为这是因为用户总是有能力阻止恼人的GIF动画,如果它们变得太压倒(我不是说你的加载gif很烦人;)).这个 page描述了如何在FF中一起禁用它们.

我建议使用JavaScript来创建一个简单的动画.您甚至可以使用带有来自gif动画的所有帧的精灵来执行此操作,并且只需为每个帧移动背景位置.

原文地址:https://www.jb51.cc/jquery/177364.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐