jQuery 在未来的 DOM 对象上执行代码?

标签 jquery asp.net internet-explorer google-chrome css

那么问题来了:

我使用 jQuery 定位 DOM 元素并根据浏览器窗口、父元素等的高度设置它们的高度。这是一个示例:

$('.multiPanelContainer .panelContainer').each(function() { $(this).css('height', document.body.offsetHeight - $(this).offset().top - 13 + 'px') })

这工作正常,除非 AJAX 调用在页面准备好后引入新的 DOM 元素。我之前使用 live() 将事件处理程序绑定(bind)到新的 DOM 元素,但我在这里只想操作新元素的 css。有没有办法在 jQuery 选择器的 future 匹配中调用上面的代码?我可以将 jQuery 绑定(bind)到应用程序后端的 AJAX 回发,只是想知道是否有简单的前端解决方案。

这是背景:

整个情况并不理想。我正在使用现有的 ASP.NET 应用程序,该应用程序是针对 IE6/IE7 编写的,并广泛使用 IE css 'expression()' 语句。我没有做出那个决定,所以不要怪我。无论如何,现在应用程序所有者希望能够在 Chrome 中使用该应用程序,它不理解上述选择器。我的主管推荐的快速而肮脏的解决方案是将语句转换为您在上面看到的我使用的 jQuery 语句,并将它们包含在母版页中链接的单个 js 文件中。我认为将设计拆分为 css 和 js 部分不利于可维护性,但我在这里只有这么多控制权。

最佳答案

一旦 DOM 发生变化,您将不得不重新执行代码。您可以通过使用新类名标记已经完成的任务来节省能源,这样您就可以跳过它们。

关于jQuery 在未来的 DOM 对象上执行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7353822/

相关文章:

javascript - 当用户点击按钮时弹出一个窗口

c# - 如何在使用 ASP.NET Identity 确认帐户后执行自动登录

ASP.NET:如何从 javascript 访问转发器生成的元素?

javascript - 与 IE7 的兼容性

javascript - 拖放、裁剪和调整图像大小

jquery - IE 兼容 View 模式下的 superfish 菜单错误

c# - PDF在IE中隐藏Jquery Modal

c# - 当我每次刷新页面加载 button_click 事件时也运行

java - Web 开发人员可以停止未安装 Java 的 IE 弹出对话框吗?

javascript - 如何从我的 csv 文件中删除 BOM 表头?