target
只读特性在
ResizeObserverEntry
interface returns a reference to the
元素
or
SVGElement
that is being observed.
var element = ResizeObserverEntry.target; var svgElement = ResizeObserverEntry.target;
元素
or
SVGElement
representing the element being observed.
The following snippet is taken from the
resize-observer-border-radius.html
(
see source
) example. This example includes a green box, sized as a percentage of the viewport size. When the viewport size is changed, the box's rounded corners change in proportion to the size of the box. We could just implement this using
border-radius
with a percentage, but that quickly leads to ugly-looking elliptical corners; this solution gives you nice square corners that scale with the box size.
To grab a reference to the observed element so we can update its
border-radius
value after each change, we make use of the
target
property of each entry —
entry.target.style.borderRadius
.
const resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
if(entry.contentBoxSize) {
entry.target.style.borderRadius = Math.min(100, (entry.contentBoxSize.inlineSize/10) +
(entry.contentBoxSize.blockSize/10)) + 'px';
} else {
entry.target.style.borderRadius = Math.min(100, (entry.contentRect.width/10) +
(entry.contentRect.height/10)) + 'px';
}
}
});
resizeObserver.observe(document.querySelector('div'));
| 规范 | 状态 | 注释 |
|---|---|---|
|
重置大小观测器
The definition of 'target' in that specification. |
编者草案 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
target
|
Chrome 64 | Edge 79 | Firefox 69 | IE No | Opera Yes | Safari No | WebView Android 64 | Chrome Android 64 | Firefox Android No | Opera Android Yes | Safari iOS No | Samsung Internet Android 9.0 |
完整支持
不支持
ResizeObserverEntry