Слияние кода завершено, страница обновится автоматически
import measureTextWidth from '../_util/measureTextWidth';
function getContentWidth(element: HTMLElement, computedStyle: CSSStyleDeclaration): number {
const { width, boxSizing } = computedStyle;
if (boxSizing === 'content-box' && width && width !== 'auto') {
return parseFloat(width);
}
const contentWidth = width && width !== 'auto' ? parseFloat(width) : element.offsetWidth;
const { paddingLeft, paddingRight, borderLeftWidth, borderRightWidth } = computedStyle;
const pl = paddingLeft ? parseFloat(paddingLeft) : 0;
const pr = paddingRight ? parseFloat(paddingRight) : 0;
const bl = borderLeftWidth ? parseFloat(borderLeftWidth) : 0;
const br = borderRightWidth ? parseFloat(borderRightWidth) : 0;
return contentWidth - pl - pr - bl - br;
}
export default function isOverflow(element: HTMLElement | HTMLInputElement) {
const { textContent, ownerDocument } = element;
const { value } = element as HTMLInputElement;
if ((value || textContent) && ownerDocument) {
const { clientWidth, scrollWidth } = element;
if (scrollWidth > clientWidth) {
return true;
}
const { defaultView } = ownerDocument;
if (defaultView) {
const computedStyle = defaultView.getComputedStyle(element);
const contentWidth = Math.round(getContentWidth(element, computedStyle));
const textWidth = Math.round(measureTextWidth(textContent || value, computedStyle));
return (textWidth > contentWidth);
}
}
return false;
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )