IE下resize无限触发问题。-问答-阿里云开发者社区-阿里云

开发者社区> a123456678> 正文

IE下resize无限触发问题。

2016-07-11 10:18:57 1326 1

大家帮忙看个问题,IE下,resize时给HTML元素添加一个class,会导致resize一直触发,导致IE浏览器崩溃。
演示地址: http://sandbox.runjs.cn/show/sxa2movn
这个在resize触发时在页面显示了resize....
使用IE浏览器都会出现这个问题。
请问这个问题是什么原因导致的,应该怎么解决?

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:53:59
    (function ($, h, c) { var a = $([]), e = $.resize = $.extend($.resize, {}), i, k = "setTimeout", j = "resize", d = j + "-special-event", b = "delay", f = "throttleWindow"; e[b] = 250; e[f] = true; $.event.special[j] = { setup: function () { if (!e[f] && this[k]) { return false } var l = $(this); a = a.add(l); $.data(this, d, { w: l.width(), h: l.height() }); if (a.length === 1) { g() } }, teardown: function () { if (!e[f] && this[k]) { return false } var l = $(this); a = a.not(l); l.removeData(d); if (!a.length) { clearTimeout(i) } }, add: function (l) { if (!e[f] && this[k]) { return false } var n; function m(s, o, p) { var q = $(this), r = $.data(this, d); r.w = o !== c ? o : q.width(); r.h = p !== c ? p : q.height(); n.apply(this, arguments) } if ($.isFunction(l)) { n = l; return m } else { n = l.handler; l.handler = m } } }; function g() { i = h[k](function () { a.each(function () { var n = $(this), m = n.width(), l = n.height(), o = $.data(this, d); if (m !== o.w || l !== o.h) { n.trigger(j, [o.w = m, o.h = l]) } }); g() }, e[b]) } })(jQuery, this);
    0 0
+关注
0
文章
14879
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载