ASP.NET 页面生命周期和 JavaScript 事件

发布于 2024-11-19 10:10:11 字数 483 浏览 3 评论 0原文

我有以下设置 -

在此处输入图像描述

page_load(...) 期间对于每个项目,我都会注册一个 jQuery window-onresize 事件,以根据其父控件的大小调整每个控件的大小。

问题 - window.resize 事件没有按照我希望的顺序发生,因为先发生的是 aspx 页面的 page_load(),然后才是母版页。

由于内边距和边距的原因,在 CSS 中使用 height="100%" 是不可能的。 是否有处理这种情况的通用策略?我可以使用其他页面并控制生命周期事件,但是,这似乎有点老套。

我需要建议;我想过为每个控件分配一个优先级分数,并将它们注册到一些全局 JS 对象中,然后按该顺序运行它。还有更好的解决方案吗?

I have the following setup -

enter image description here

During the page_load(...) of each item, I register a jQuery window-onresize event to size each control depending on the size of its parent control.

The problem -- The window.resize events don't occur in the order I want them to because page_load() for the aspx page occurs, then the master pages.

Using height="100%" in CSS is not possible because of padding and margins.
Are there general strategies for dealing with this situation? I could use other page and control lifecycle events however, that seems a bit hacky.

I need suggestions; I've thought of assigning each control a precedence score and registering them with some global JS object and then run it in that order. Are there any better solutions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥有 2024-11-26 10:10:11

这里有一个想法(假设您可以使用 jQuery):

仅注册最里面子级的 onresize。然后在 onresize 中,调用 $(this).parent().trigger('onresize');

这将确保它正确地在链上冒泡。

注意:如果你不使用jQuery,你仍然可以在javascript中实现这个事件冒泡。

Here's one idea (assuming you can use jQuery):

Register innermost child's onresize only. Then inside that onresize, call $(this).parent().trigger('onresize');

That will ensure it bubbles up the chain correctly.

Note: If you don't use jQuery, you can still implement this event bubbling in javascript.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文