js中resize事件怎么解决
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"js中resize事件怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"js中resize事件怎么解决"吧!1、当浏览器窗口调
千家信息网最后更新 2026年10月31日js中resize事件怎么解决
这篇文章主要讲解了"js中resize事件怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"js中resize事件怎么解决"吧!
1、当浏览器窗口调整到新的高度或宽度时,会触发resize事件。
2、在window(窗口)上触发,因此可以通过JavaScript或元素中的onresize特性来指定事件处理程序。
实例
/** * Created by taozh on 2017/5/6. * taozh1982@gmail.com */var EleResize = { _handleResize: function (e) { var ele = e.target || e.srcElement; var trigger = ele.__resizeTrigger__; if (trigger) { var handlers = trigger.__z_resizeListeners; if (handlers) { var size = handlers.length; for (var i = 0; i < size; i++) { var h = handlers[i]; var handler = h.handler; var context = h.context; handler.apply(context, [e]); } } } }, _removeHandler: function (ele, handler, context) { var handlers = ele.__z_resizeListeners; if (handlers) { var size = handlers.length; for (var i = 0; i < size; i++) { var h = handlers[i]; if (h.handler === handler && h.context === context) { handlers.splice(i, 1); return; } } } }, _createResizeTrigger: function (ele) { var obj = document.createElement('object'); obj.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden;opacity: 0; pointer-events: none; z-index: -1;'); obj.onload = EleResize._handleObjectLoad; obj.type = 'text/html'; ele.appendChild(obj); obj.data = 'about:blank'; return obj; }, _handleObjectLoad: function (evt) { this.contentDocument.defaultView.__resizeTrigger__ = this.__resizeElement__; this.contentDocument.defaultView.addEventListener('resize', EleResize._handleResize); }};if (document.attachEvent) {//ie9-10 EleResize.on = function (ele, handler, context) { var handlers = ele.__z_resizeListeners; if (!handlers) { handlers = []; ele.__z_resizeListeners = handlers; ele.__resizeTrigger__ = ele; ele.attachEvent('onresize', EleResize._handleResize); } handlers.push({ handler: handler, context: context }); }; EleResize.off = function (ele, handler, context) { var handlers = ele.__z_resizeListeners; if (handlers) { EleResize._removeHandler(ele, handler, context); if (handlers.length === 0) { ele.detachEvent('onresize', EleResize._handleResize); delete ele.__z_resizeListeners; } } }} else { EleResize.on = function (ele, handler, context) { var handlers = ele.__z_resizeListeners; if (!handlers) { handlers = []; ele.__z_resizeListeners = handlers; if (getComputedStyle(ele, null).position === 'static') { ele.style.position = 'relative'; } var obj = EleResize._createResizeTrigger(ele); ele.__resizeTrigger__ = obj; obj.__resizeElement__ = ele; } handlers.push({ handler: handler, context: context }); }; EleResize.off = function (ele, handler, context) { var handlers = ele.__z_resizeListeners; if (handlers) { EleResize._removeHandler(ele, handler, context); if (handlers.length === 0) { var trigger = ele.__resizeTrigger__; if (trigger) { trigger.contentDocument.defaultView.removeEventListener('resize', EleResize._handleResize); ele.removeChild(trigger); delete ele.__resizeTrigger__; } delete ele.__z_resizeListeners; } } }}感谢各位的阅读,以上就是"js中resize事件怎么解决"的内容了,经过本文的学习后,相信大家对js中resize事件怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
事件
学习
内容
元素
可以通过
实例
宽度
就是
思路
情况
文章
更多
浏览器
特性
知识
知识点
程序
篇文章
跟着
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东特亿宝互联网科技有限公司
互联网金融 科技
广州互联网科技公司
科技与互联网发展
火传媒上海互联网科技
深圳期待互联网科技
科技互联网创业计划书
玖二柒互联网科技公司待遇
恒银科技与互联网金融
互联网还是高科技吗
互联网与医疗科技
华中科技大学互联网的牛人
国大互联网教育科技有限公司薪资
科技互联网的核心竞争力
中国互联网有什么科技
万物互联网智能科技
美国五大互联网科技公司市值多少
互联网科技的前景
三亚科技创新互联网基地
互联网对科技影响
上海喔噻互联网科技有限公司
科技类互联网
互联网科技人工智能实验室
互联网科技圈年度人物
互联网方面的科技前沿
领航科技大厦互联网公司
广州互联网高科技取餐柜
陕西九四连强互联网科技有限公司
陕西彩京云互联网科技有限公司
互联网 科技节活动 微视频大赛