【问题标题】:Remove stop GIF animation function from ESC button从 ESC 按钮中删除停止 GIF 动画功能
【发布时间】:2012-10-30 04:42:22
【问题描述】:

我想从 ESC 按钮中删除停止 GIF 动画功能可以吗?

请看这个:http://jsfiddle.net/f8emy/

按上传,然后按一次 ESC,然后再次按上传,您会注意到 GIF 动画停止移动。

现在我知道你会问我为什么禁用 SimpleModal 内部 ESC 功能:

escClose: false

并添加了另一个 ESC 功能:

$(function() {
    $(document).on('keydown', function(e) {
        if (e.keyCode === 27) {
            $.modal.close();
        }
    });
});

是不是因为这样它也会取消页面加载,而不是仅仅关闭 SimpleModal,这样它也会取消上传。

我真正想要的是,当您单击上传时,simplemodal 将与 GIF 一起出现,然后如果您按下 ESC,它将关闭 simplemodal 并取消上传(停止页面加载),然后如果您再次按下上传,它将是与仍在 simplemodal 中播放的 GIF 动画相同。谢谢

【问题讨论】:

  • 小提琴应该做点什么吗?我什么都没有。
  • jsfiddle.net/f8emy new jsfiddle,很抱歉它没有正确包含简单模式脚本
  • 什么浏览器?动画在 Chrome 中继续播放。
  • 问题是“并取消上传”。除非您使用的是第 3 方上传脚本,否则我认为您无法取消文件上传。

标签: javascript jquery button gif simplemodal


【解决方案1】:

这是每个人最喜欢的超级英雄的工作:preventDeafult()-man!

// Close SimpleModal & Cancel Page Loading (from uploading)
$(function() {
    $(document).on('keydown', function(e) {
        if (e.keyCode === 27) {
            e.preventDefault(); //prevent browser from stopping animation
            $.modal.close();
        }
    });
});

更新了你的jsFiddle

当按下 Esc 时,Firefox 将停止 gif 动画; e.preventDefault() 将阻止此操作,并保持派对,呃...gif 动画继续进行。

【讨论】:

  • 这可行,但现在它不会停止页面加载以取消文件上传...我不需要取消 GIF 动画,只需要取消页面加载和 SimpleModal
  • 如果您依赖用户将他的键绑定到某个操作(例如停止页面加载),我为您感到难过儿子。你有 99 个问题,而用户是其中之一。您应该通过 ajax 进行上传,并在需要时中止请求。
猜你喜欢
  • 2014-12-02
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 2010-10-21
  • 2014-04-23
  • 2019-03-08
  • 1970-01-01
相关资源
最近更新 更多