1

我创建了几个嵌套的 div,内部可水平调整大小,外部可垂直调整大小。我有这样的调整父 div(或窗口)的大小会导致孩子调整大小。

但是,我发现当一个子 div 被调整大小时,即使它们的大小没有改变,它的祖先也都会接受 resize 事件。

我在 Win7 上使用 Chrome 18.0。

此处示例:http: //jsfiddle.net/m95Ha/
调整红色和青色边和窗口的大小,并观察黑色 div 中的字符。例如,水平调整青色边的大小会导致“i”(“#inner”调整大小事件)、“o”“i”(“#outer”调整大小事件)“w”(窗口调整大小事件)。
我不会想到'o'或'w'。

这是 jQuery 的东西,还是 Chrome 的东西,或者可能是 HTML/DOM 标准?

4

1 回答 1

1

这是 jQuery UI 的预期行为;resize 方法会像正常事件一样冒泡。如有必要,您可以使用以下内容过滤掉在非 jQuery UI 可调整大小的小部件上发生的调整大小事件:

$('whatever').bind('resize', function(event) {
    if (!$(event.target).hasClass('ui-resizable')) {
        //do stuff here
    }
});

这个问题也有一些相关的讨论 - jQuery UI resizable fire window resize event

于 2012-05-19T02:19:46.563 回答