Internet Explorer 中触发 window.resize 事件

2023-11-22

如您所知,在 Internet Explorer 中,当页面上的任何元素调整大小时,将触发 window.resize 事件。页面元素是否通过分配/更改其高度或样式属性、通过简单地向其添加子元素或其他方式来调整页面元素的大小并不重要——即使元素调整大小不会影响视口本身的尺寸。

在我的应用程序中,这会导致令人讨厌的递归,因为在我的 window.resize 处理程序中,我正在调整一些

  • 元素的大小,这反过来会重新触发 window.resize 等。同样,这只是 IE 中的问题。
  • 有什么办法可以阻止 window.resize 在 IE 中触发以响应页面上正在调整大小的元素?

    我还应该提到我正在使用 jQuery。


    我刚刚发现了另一个可能对你有帮助的问题。

    我正在使用 jQuery,并且有 window.resize 事件来调用一个函数,该函数将重新定位附加到正文的 div。

    现在,当我设置附加 div 的 LEFT css 属性时,window.resize 事件会无缘无故地被触发。

    它会导致无限循环,一次又一次触发 window.resize 。

    未修复的代码:

    $(window).resize(function(){
        var onResize = function(){
            //The method which alter some css properties triggers 
            //window.resize again and it ends in an infinite loop
            someMethod();
        }
        window.clearTimeout(resizeTimeout);
        resizeTimeout = window.setTimeout(onResize, 10);
    });
    

    解决方案:

    var winWidth = $(window).width(),
        winHeight = $(window).height();
    
    $(window).resize(function(){
        var onResize = function(){
            //The method which alter some css properties triggers 
            //window.resize again and it ends in an infinite loop
            someMethod();
        }
    
        //New height and width
        var winNewWidth = $(window).width(),
            winNewHeight = $(window).height();
    
        // compare the new height and width with old one
        if(winWidth!=winNewWidth || winHeight!=winNewHeight){
            window.clearTimeout(resizeTimeout);
            resizeTimeout = window.setTimeout(onResize, 10);
        }
        //Update the width and height
        winWidth = winNewWidth;
        winHeight = winNewHeight;
    });
    

    所以基本上它会检查高度或宽度是否改变(只有当你实际调整窗口大小时才会发生)。

    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

    Internet Explorer 中触发 window.resize 事件 的相关文章

    • 使用 lambda 更新 amazon s3 对象元数据而不执行对象复制?

      是否可以使用 lambda 函数添 加或更新 s3 对象元数据而不复制对象 这篇 2 年前的帖子说我们确实需要复制一份 https stackoverflow com questions 32646646 how do i update m
    • 从字符串中提取电子邮件地址

      我有一个像这样的字符串 Francesco Renga lt email protected cdn cgi l email protection gt 我只需要提取电子邮件 即 电子邮件受保护 cdn cgi l email protec
    • Android键盘点击搜索输入时出现和消失

      我在用谷歌地图 Js API当我搜索一个地方时 我的输入搜索栏工作正常 当我通过 iPhone 设备使用它时 它也工作得很好 但是当我通过Android 设备然后键盘立即出现和消失 我已经找到了一些关于当我按下搜索栏时 android 键盘
    • 如何验证单选按钮?

      我的 Rails 应用程序中有一个单选按钮 我想编写一个 java 脚本代码 在未选择任何选项时验证这一点 在你的 votes 类中做类似的事情 class Myvotes lt ActiveRecord Base validates vo
    • 任何 JavaScript 代码都是有效的 TypeScript 代码吗?

      目前我已经开始学习TypeScript 从我研究过的文档来看TypeScript 我看到一些纯的样品JavaScript代码可以编译为TypeScript code 我的问题是 TypeScript 语言的设计方式是否使任何 JavaScr
    • 如何为多个元素添加Class?

      我正在使用这段 javascript 向多个元素添加一个类 我试图引用多个 div 并向它们添加类 它只适用于第一个 JavaScript
    • ES6 Promises/在满足多个 Promise 后调用函数(不能使用 Promises.all)[重复]

      这个问题在这里已经有答案了 我正在编写 Javascript 它需要这些事件按以下顺序发生 同时触发多个 API 调用 所有调用完成且响应返回后 执行一行代码 听起来很简单 但棘手的部分是我不能使用 Promises all 因为我仍然希望
    • 未捕获的类型错误:未定义不是函数

      我收到消息Uncaught TypeError Undefined is not a function当我尝试调用家庭控制器中的方法时 也许关于我为什么收到此消息的建议 findIdpActivities function pernr ca
    • setTimeout() 的问题

      这是我的代码 我想要它做的是写 0 等待一秒 写 1 等待一秒 写 2 等待一秒 等等 而是写 5 5 5 5 5 for i 0 i lt 5 i setTimeout document write i 1000 http jsfiddl
    • 如何设置第三方 cookie

      我如何设置第三方 cookie 我有要求设置cookie 并且cookie将在访问的网站中启用 就像我在访问cde com或def com或ghi com时在abc com中设置cookie一样 所以设置的cookie将在所有网站上获取 我
    • Ajax调用完成后执行函数

      我是 Ajax 新手 我尝试在使用 for 循环时使用 Ajax Ajax 调用之后 我正在运行一个使用 Ajax 调用中创建的变量的函数 该函数只执行两次 我认为 Ajax 调用可能没有足够的时间在循环开始之前进行调用 有没有办法在运行
    • 如何在没有查询参数的情况下重新加载页面?

      假设我想重新加载www domain com abc num 4 但我想重新加载www domain com abcONLY 问号后没有所有内容 window location window location href split 0
    • asp.net mvc jquery 下拉验证

      我如何使用不显眼的 javascript 验证下拉列表 作为所需验证器的验证文本框 但它不适用于下拉列表 需要更改不显眼的 js 文件吗 或者还有其他选项来验证下拉列表吗 我想在我的 javascript 中检查 form validate
    • 当字段已经填充时,jQuery Validate 有时无法工作

      我的页面中有一个更新表单 所有文本框都已填充用户信息 我用了jquery 验证 https jqueryvalidation org 我的网站中的插件 当表单没有任何默认值时 该插件可以正常工作而不会出现任何错误 在我的表单中 有时错误消息
    • 401 未经授权的帖子回复

      我一直在使用 Angular 模板制作 Node js 网站 但我无法在 DB Mongo 上创建数据 这是代码 节点路由 var Property mongoose model Property var jwt require expre
    • 以特定顺序运行具有效果的 jQuery 函数

      我在 javascript 函数中有一些 jQuery 可以更改页面上的文本并以特定的时间间隔淡入和淡出 我希望这些函数在每个函数完成其效果后按顺序运行 dialogueExchange1 dialogueExchange2 dialogu
    • 动态 jquery 对话框弹出窗口

      我只使用过已知数量的 JQuery 对话框 并且在使动态版本正常工作时遇到了各种麻烦 希望有人能帮助我解决这个问题 这是我用已知数字执行此操作的方法 opener1 click function dialog1 dialog open di
    • 如何找出javascript中加载了哪些javascript?

      继另一个问题的评论之后 我问自己是否有办法获取页面上加载的所有 js 代码的列表 就像 Firebug 或 chrome Inspector 所做的那样 有没有一种纯javascript的方法 一种方法是抓取脚本标签 但这样你可能会错过动态
    • 选择更新后不起作用

      我有一个选择的下拉菜单 我更改了选项内容并调用触发器选择 更新但选择不重建下拉列表 这是我更新的
    • 使用来自Processing-JS的JSON

      我想使用编写一个应用程序处理 JS http processingjs org 并且我希望能够使用服务器端数据加载它 我还没有编写服务器端 所以我可以使用任何东西 但似乎明显的 AJAX 事情是使用 JSON 将数据上传到页面中 如何从我的

    随机推荐

    • 如何在纯SQL中编写空安全比较“<=>”?

      在Mysql中有一个比较运算符是空安全的 我在 Java 程序中创建准备好的语句时使用它 如下所示 String routerAddress getSomeValue String sql SELECT FROM ROUTERS WHERE
    • 正则表达式匹配字母字符[重复]

      这个问题在这里已经有答案了 我有这个正则表达式 if cadena matches a zA Z return true 它接受从 A 到 Z 的小写和大写 还接受空格 但这仅适用于英语 例如 在加泰罗尼亚语中 我们有 字符 此外 我们还有
    • .NET 3.5 的代码契约搞乱了 VS10 的调试器

      我最近使用代码契约迁移了很多手动前提条件测试和异常抛出 我没有升级到 NET 4 而是使用Microsoft Contracts dll程序集 这样我就可以坚持使用 NET 3 5 更长的时间 这是一个由 NET 3 5 和 NET 4 程
    • 使用 window.find() 匹配所有出现的情况

      例如 如果我有一个如下所示的 HTML 网页 Hello Techies br Techies here 如果我使用搜索 Techies var sel window getSelection sel collapse document b
    • n 行的平均值

      我有一个包含三列的数据框 Id Date and Value并希望按平均值对其进行下采样 取接下来的 20 行 构建平均值Value从这 20 行中提取数据并将其添加到具有相同结构的新数据框中 Date应该是 20 行的第一个值 我尝试了这
    • WPF 中的 MVVM - 如何提醒 ViewModel 模型中的更改...还是应该?

      我正在阅读一些 MVVM 文章 主要是this and this 我的具体问题是 如何将模型更改从模型传递到视图模型 在乔什的文章中 我没有看到他这样做 ViewModel 总是向 Model 询问属性 在 Rachel 的例子中 她确实有
    • 使用单独的委托/数据源时的 UITableView 问题

      一般说明 首先 我有一个UITableView它已被放置到使用 Interface Builder 的 Xcode 生成的视图上 视图的文件所有者设置为 Xcode 生成的子类UIViewController 对于这个子类 我添加了以下工作
    • 如何在 Magento 2 中安装语言包?

      我尝试按照以下说明进行操作https mage2 pro t topic 270 and http devdocs magento com guides v2 0 config guide cli config cli subcommand
    • 放大动画

      我在用RotateAnimation对于图像 但我也想用动画放大图像 意味着当我的图像旋转时图像也 会缩放 如何使用旋转动画进行缩放 在 anim xml 中 您可以像这样使用比例
    • Windows 10 操作系统上的 Windows 窗体图形问题

      当我在 Windows 10 中运行任何 Windows 窗体应用程序时 窗口内的图形似乎扭曲 在设计时这不会发生 有人经历过这个吗 请打开图片以便看得更清楚 NET Framework gt 4 7 的更新答案 打开 app config
    • 当设备可以在应用程序级别强制使用深色主题时,如何避免在我的应用程序中强制使用深色主题?

      有些设备 例如Poco F2 Pro 可以在不兼容深色主题的应用程序中强制使用深色主题 例如 我的应用程序有这个主题 并且与深色主题不兼容
    • 在gdb中,如何将字符串写入内存?

      使用 gdb 将整数或十六进制写入内存地址非常简单 gdb set int 0x08040000 42 gdb set int 0x08040000 0xffffffff 但是我怎样才能以类似简单的方式将字符或整个字符串写入内存呢 现在我必
    • 如何使用反射将事件处理程序附加到事件?

      我知道关于EventInfo AddEventHandler 可用于将处理程序附加到事件的方法 但是 如果我什至无法定义事件处理程序的正确签名 例如 我什至没有引用处理程序所需的事件参数 该怎么办 我将用正确的代码解释问题 当我的解决方案中
    • 如何在 PdfPCell 中居中对齐模板元素

      我正在构建一个垂直的月份列表 以及每个月的水平天数列表 我每天都会添加一个尺寸和颜色的矩形 大小和颜色取决于数据库查询的值 我在用PdfPTable PdfPCell and cbCreateTemplate提供于这个答案 除了矩形的位置之
    • 无法运行 Robolectric 测试

      我继续得到 java lang NoClassDefFoundError android content pm PackageManager NameNotFoundException java lang ClassNotFoundExce
    • 使用基于 Java 密钥存储中的别名的单个证书

      我有一个密钥库 其中添加了多个密钥和证书 我想使用基于密钥存储中的别名的证书并将其用于 SSL 我尝试设置以下系统属性但没有任何帮助 System setProperty javax net ssl keyAlias abcd System
    • 哪个 iOS 类/代码返回磁北?

      我想获取设备与磁北的偏差 以度为单位 并在我正在编写的一些代码中使用该值 我不想使用设备的定位服务 因此我对获取真北不感兴趣 而是对磁北感兴趣 仅使用设备的磁力计 哪个类 或编码过程 可以为我提供该值 仅依赖于磁力计 CLLocationM
    • PHP 中可以有嵌套类吗?

      我不是在谈论继承 我不是在谈论嵌套对象 我在说话 System Web Templating 一种筑巢 这些是您不应该创建实例的类 所以 No 但是 您可以通过在 getInstance 中返回实例化对象来执行类似的操作 myClass g
    • 谷歌地图使用 PHP 在 MySQL 中保存多边形和点

      现在我有一个应用程序 允许用户在谷歌地图上绘制多边形 我需要使用 PHP 和 MySQL 保存这个多边形 但我不确定最佳实践 我应该启用空间扩展并保存几何图形吗 我应该将每个垂直 纬度 经度对 保存在数组中吗 我不知道的另一种方法 我想知道
    • Internet Explorer 中触发 window.resize 事件

      如您所知 在 Internet Explorer 中 当页面上的任何元素调整大小时 将触发 window resize 事件 页面元素是否通过分配 更改其高度或样式属性 通过简单地向其添加子元素或其他方式来调整页面元素的大小并不重要 即使元