textarea 自動撐開高度
var textAreaArr = document.querySelectorAll(".textarea"); for (var i = 0; i < textAreaArr.length; i++) { autoTextarea(textAreaArr[i]); } function autoTextarea(elem, extra, maxHeight) { extra = extra || 0; var isFirefox = !!document.getBoxObjectFor || "mozInnerScreenX" in window, isOpera = !!window.opera && !!window.opera.toString().indexOf("Opera"), addEvent = function (type, callback) { elem.addEventListener ? elem.addEventListener(type, callback, false) : elem.attachEvent("on" + type, callback); }, getStyle = elem.currentStyle ? function (name) { var val = elem.currentStyle[name]; if (name === "height" && val.search(/px/i) !== 1) { var rect = elem.getBoundingClientRect(); return rect.bottom - rect.top - parseFloat(getStyle("paddingTop")) - parseFloat(getStyle("paddingBottom")) + "px"; } return val; } : function (name) { return getComputedStyle(elem, null)[name]; }, minHeight = parseFloat(getStyle("height")); elem.style.resize = "none"; var change = function () { var scrollTop, height, padding = 0, style = elem.style; if (elem._length === elem.value.length) return; elem._length = elem.value.length; if (!isFirefox && !isOpera) { padding = parseInt(getStyle("paddingTop")) + parseInt(getStyle("paddingBottom")); } scrollTop = document.body.scrollTop || document.documentElement.scrollTop; elem.style.height = minHeight + "px"; if (elem.scrollHeight > minHeight) { if (maxHeight && elem.scrollHeight > maxHeight) { height = maxHeight - padding; style.overflowY = "auto"; } else { height = elem.scrollHeight - padding; style.overflowY = "hidden"; } style.height = height + extra + "px"; scrollTop += parseInt(style.height) - elem.currHeight; document.body.scrollTop = scrollTop; document.documentElement.scrollTop = scrollTop; elem.currHeight = parseInt(style.height); } }; addEvent("propertychange", change); addEvent("input", change); addEvent("focus", change); change(); }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/51860.html
摘要:將的高度和設置為僅能輸入一行,這么做是為了用元素的表示其內容的高度。在模塊內新建一個組件。輸出屬性將會在用戶輸入的數據變化時發出數據。讓的高度始終等于的這里是直接操作,建議最好使用進行的修改。 showImg(https://segmentfault.com/img/bVbjsjA?w=223&h=233); >> 前往stackblitz編輯代碼 核心思路 showImg(https...
textarea 自動撐開高度 var textAreaArr = document.querySelectorAll(.textarea); for (var i = 0; i < textAreaArr.length; i++) { autoTextarea(textAreaArr[i]); } function autoTextarea(elem, extra, maxHei...
摘要:高度自適應文本域高度隨內容自動變化,不會出現滾動條,可以有多種方法,除了用動態設置它的高度值以外還有其它更簡單的方法。還有一種方法,利用兄弟節點撐開父級高度,設置高度為即可。 textarea高度自適應 文本域高度隨內容自動變化,不會出現滾動條,可以有多種方法,除了用js動態設置它的高度值以外還有其它更簡單的方法。 可以用div標簽模擬textarea,將div的contentedit...
摘要:第八集從零開始實現輸入框組件本集定位組件是交互的一大利器他與用戶的交流最為密切所以奠定了他在組件界的重要地位也算是一種如果可以的話本集也會一起說完畢竟是一個類型的一起學完收獲會很大古人云組件不封輸入框,一到面試就發慌一簡介大家如果對這個 第八集: 從零開始實現(輸入框input,textarea組件) 本集定位: input組件是交互的一大利器, 他與用戶的交流最為密切, 所以奠...
閱讀 2458·2021-09-27 13:36
閱讀 2163·2019-08-29 18:47
閱讀 2129·2019-08-29 15:21
閱讀 1394·2019-08-29 11:14
閱讀 1979·2019-08-28 18:29
閱讀 1623·2019-08-28 18:04
閱讀 568·2019-08-26 13:58
閱讀 3206·2019-08-26 12:12