textarea 自動(dòng)撐開高度
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(); }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/107606.html
摘要:將的高度和設(shè)置為僅能輸入一行,這么做是為了用元素的表示其內(nèi)容的高度。在模塊內(nèi)新建一個(gè)組件。輸出屬性將會(huì)在用戶輸入的數(shù)據(jù)變化時(shí)發(fā)出數(shù)據(jù)。讓的高度始終等于的這里是直接操作,建議最好使用進(jìn)行的修改。 showImg(https://segmentfault.com/img/bVbjsjA?w=223&h=233); >> 前往stackblitz編輯代碼 核心思路 showImg(https...
textarea 自動(dòng)撐開高度 var textAreaArr = document.querySelectorAll(.textarea); for (var i = 0; i < textAreaArr.length; i++) { autoTextarea(textAreaArr[i]); } function autoTextarea(elem, extra, maxHei...
摘要:高度自適應(yīng)文本域高度隨內(nèi)容自動(dòng)變化,不會(huì)出現(xiàn)滾動(dòng)條,可以有多種方法,除了用動(dòng)態(tài)設(shè)置它的高度值以外還有其它更簡單的方法。還有一種方法,利用兄弟節(jié)點(diǎn)撐開父級(jí)高度,設(shè)置高度為即可。 textarea高度自適應(yīng) 文本域高度隨內(nèi)容自動(dòng)變化,不會(huì)出現(xiàn)滾動(dòng)條,可以有多種方法,除了用js動(dòng)態(tài)設(shè)置它的高度值以外還有其它更簡單的方法。 可以用div標(biāo)簽?zāi)Mtextarea,將div的contentedit...
摘要:第八集從零開始實(shí)現(xiàn)輸入框組件本集定位組件是交互的一大利器他與用戶的交流最為密切所以奠定了他在組件界的重要地位也算是一種如果可以的話本集也會(huì)一起說完畢竟是一個(gè)類型的一起學(xué)完收獲會(huì)很大古人云組件不封輸入框,一到面試就發(fā)慌一簡介大家如果對(duì)這個(gè) 第八集: 從零開始實(shí)現(xiàn)(輸入框input,textarea組件) 本集定位: input組件是交互的一大利器, 他與用戶的交流最為密切, 所以奠...
閱讀 4947·2021-11-25 09:43
閱讀 1193·2021-11-24 09:38
閱讀 1904·2021-09-30 09:54
閱讀 2813·2021-09-23 11:21
閱讀 2377·2021-09-10 10:51
閱讀 2377·2021-09-03 10:45
閱讀 1172·2019-08-30 15:52
閱讀 1775·2019-08-30 14:13