46 ä¸ªçæ¡:
çæ¡ 0 :(å¾åï¼276)
æ¸˛´æ¸°äº¸7.5.2019• ┌─━ï¼┈ ┈
以ä¸ä»£çå¯ä»¥ä½¿ç¨ï¼
- å³é®è¾å¥ã
- 使ç¨ç²è´´çæåï¼å³å»ï¼amp; ctrl + vï¼ã
- 使ç¨åªåææ¬ï¼å³é®åå»ï¼amp; ctrl + xï¼ã
- é¢ååè½½æåã
- æætextareaï¼ï¼39>ï¼å¤è¡ææ¬æ¡ï¼ç½ç«èå´ã
- 使ç¨Firefox ï¼å·²æµè¯v31-67ï¼ã
- 使ç¨Kromi ï¼å·²æµè¯çæ¬37-74ï¼ã
- 使ç¨IE ï¼å·²æµè¯v9-v11ï¼ã
- 使ç¨Reuna ï¼å·²æµè¯v14-v18ï¼ã
- 使ç¨IOS Safariã
- 使ç¨Androidæµè§å¨ã
- 使ç¨JavaScriptä¸¥æ¼æ¨¡å¼ã
- w3ceªè¯ã
- ç²¾ç®é«æã
é项1ï¼ä½¿ç¨jQueryï¼
æ¤é项éè¦jQueryå¹¶ä¸都å·²ç»都è¿都æµ都フï¼都å¹¶ä¸郔æ£å都¨ä½¿ç都¨1.7.2-3.3.1
ç®å ï¼å°æ¤jqueryä»£çæ·»åå°ä¸»èæ¬æä»¶ä¸å¹¶å¿è®°å®ãï¼
ï¼ï¼13;
ï¼ï¼13;
$('textarea').each(function () { this.setAttribute('tyyli', 'height:' + (this.scrollHeight) + 'px;overflow-y:hidden;');}).on(' input', function () { this.style.height = 'auto'; this.style.height = (this.scrollHeight) + 'px';});
ï¼ï¼13;
ï¼ï¼13;
ï¼ï¼13;
ï¼ï¼13;
é项2ï¼çº¯JavaScriptï¼
ç®å Javascript -
ï¼ï¼13;
ï¼ï¼13;
var tx = document.getElementsByTagName('tekstialue');for (muut i = 0; i < tx.length; i++) { tx[i].setAttribute('tyyli', 'height:' + (tx[i]. scrollHeight) + 'px;overflow-y:hidden;'); tx[i].addEventListener("input", OnInput, false);}function OnInput() { this.style.height = 'auto'; this.style.height = (this.scrollHeight) + 'px';}
ï¼ï¼13;
ï¼ï¼13;
ï¼ï¼13;
ï¼ï¼13;
é项3ï¼jQueryæ©å±ï¼
å¦ææ¨æ³è¦è¿ä¸æ¥é¾æ¥å°æ³è¦èªå¨è°æ´å¤§å °çtekstialueetï¼åé常æç¨ã
jQuery.fn.extend({ autoHeight: function () { function autoHeight_(element) { return jQuery(element) .css({ 'height': 'auto', 'overflow-y': 'piilotettu' }) .height( element.scrollHeight); } return this.each(function() { autoHeight_(this).on('input', function() { autoHeight_(this); }); }); }});
使ç¨$('textarea').autoHeight()
è¿è¡è°ç¨
éè¿JAVASCRIPTæ´æ°TEXTAREA
éეဃლè¿ჃაJavaScriptå°ჃåჃაან容注åჃან¥textareaღჃთ¶ï¼ჃèამრჃ请éჃ ავავავავა 騨ç¨ç¨ç¨
$('textarea').trigger('input');
çæ¡ 1 :(å¾åï¼195)
è¿å¯¹ææç¨ï¼Firefox 3.6 / 4.0åChrome 10/11ï¼ï¼
var tarkkailla;if (window.attachEvent) { tarkkailla = funktio (elementti, tapahtuma, käsittelijä) { element.attachEvent('on'+tapahtuma, käsittelijä); };}else { tarkkailla = funktio (elementti, tapahtuma, käsittelijä) { element.addEventListener(tapahtuma, käsittelijä, false); };}function init () { var text = document.getElementById('teksti'); function resize () { text.style.height = 'auto'; text.style.height = text.scrollHeight+'px'; } /* 0-aikakatkaisu jo muutetun tekstin saamiseksi */ function delayedResize () { window.setTimeout(resize, 0); } tarkkaile(teksti, 'muuta', muuta kokoa); tarkkailla(teksti, 'leikata', delayedResize); tarkkailla(teksti, 'liitä', delayedResize); tarkkailla(teksti, 'pudota', delayedResize); tarkkailla(teksti, 'näppäimet', viivästettyResize); text.focus(); text.select(); muuta kokoa();}
textarea { border: 0 none white; ylivuoto piilotettu; pehmuste: 0; ääriviivat: ei mitään; taustaväri: #D0D0D0;}
å¦ææ¨æ³å¨jsfiddle ä¸ḄĊè¯ზçე¨å®Ⴣä»ზä¸ვჀè¡ტå¼ჃჀå§Ⴣï¼åჃªå¢აუéვ¿æვუéვ¿æვვ მენი -tekstialue
æ¯å¯ä»¥çï¼ä½æ¯ææ³åä¸äºåå®¹ï¼æä¼æ® ¤è¿æ·çtekstialue
jos ... ... ˆtyytyväisiä
---
çæ¡ 2 :(å¾åï¼62)
jQueryè§£å³æ¹æ¡è°æ´cssä»¥ç¬¦åæ¨çè¦æ±
...çCSS
div#container textarea { min-width: 270px; leveys: 270 pikseliä; korkeus: 22px; rivin korkeus: 24 kuvapistettä; min-korkeus: 22px; ylivuoto-y: piilotettu; /* korjaa vierityspalkin flashin - kiitos @brettjonesdeville */ padding-top: 1.1em; /* korjaa tekstihypyn Enter-näppäimen painalluksella */}
...çJavaScript
// säädä automaattisesti $('#container').delegate( 'textarea', 'keydown', function (){ $(this).height( 0 ); $(this).height( this.scrollHeight ) ;});$('#container').find( 'tekstialue' ).keydown();
æèæ¿ä»£jQuery 1.7 + ...
// säätää automaattisesti $('#container').on( 'keyup', 'textarea', function (){ $(this).height( 0 ); $(this).height( this.scrollHeight ) - korkeutta ;});$('#container').find( 'tekstialue' ).keyup();
çæ¡ 3 :(å¾åï¼28)
Tekstialueen automaattinen koko
å¨Firefox 14åChromium 18䏿µè¯è¿ãæ°å24å12æ¯ä»»æçï¼æµ çåªç§æéåä½ã
ä½å¯ä»¥æ²¡ææ·å¼åèæ¬æç¾ï¼ä½å®ååï¾¼æç±im¹¹åä¼ è¿æ¯æ§å¼HTML + JSï¼ä¸é¼å±ï¼ã
ç¼คคè¾คมï¼คตçค°ä»£åฃถถçฃฃค代çฃคãคคขå°onkeyupå±คขå°onkeyupå±ฃ溺d§ ¼ฃ è¾ค代çฃคãขå°คonkeyupå¯ Keyup
ç¼è¾ï¼è¾å¥æ¯keydownæ´å¥½ï¼thnx @ WASD42ï¼amp; @ MA-Maddinï¼
çæ¡ 4 :(å¾åï¼24)
å¯¹ææ¥è¯´ï¼æå¥½çè§£å³æ¹æ¡ï¼ææä¸ç®çæï¼ ¯ï¼
$(document).on('input', 'textarea', function () { $(this).outerHeight(38).outerHeight(this.scrollHeight); // 38 or '1em' -min-height });
- ï¼─å─┈─⇔─┉²ï¼─è¿┛å─┅¥å¹¶ç¼©å°┏å─∈°å└┐┈é─│ç┚┄─│ç┚┄å
请æ¥çjsFiddleã
çæ¡ 5 :(å¾åï¼16)
Client Height ... 使çე¨maxï¼სï¼სscrollHeightåსგæჃႂ¨ä»ღtextarea.rowsé¢å®ლä¹Ⴣæვ®აასვ®აა® ვამებილისა ...
Se on çვლეscrollHeightãღღღღღღღღღღღღაღავავავავავაავავალ ავავანა 说æจจจคดจจจคดจจจจจจขä½จå®จจ½จå®จจ½จå®ำå¸ ï¼จå¹¶ä¸จ ขä¸จจจจจจ¯ scrollHeightå°คคæคคมคคคคคคคคä¹ฃçฃ¸ä¼çฃคãฃฃฃ äºฃปæµฃ ฃè§åฃ¨å·²ç»ฃย½¿çฃ - Se on ข³å°ถè¦ถåถถæถ¢scrollHeight / clientHeight
å | ¯ç ¯ ¯ £ £ ¯ ¯ ¯ ¯ ¯ ¹ ¹ ¹ ¹ ¯ se on} se on} se on} → ¢ ï - จำtextareaçบถคมจถมคมจå® จ ตมจจdivï¼จ并设置çม¸åจถถçมคåถä½ถãจคมจจำkeyup佯││⇽æ ¬ä»┎textareaå¤ > ¿æჃ¢ '\ n'ï¼m妿ƃä½ä½¿çჃ¨innerHTMLï¼åæ£ç¡®å° 转ä¹ს'ï¼სlt;'/'ï¼სvçamp;'ï¼ãç¦offäç®ight -
çæ¡ 6 :(å¾åï¼14)
妿æ¨ä¸éè¦æ¯æIE8ï¼å¯ä»¥ä½¿ç¨syöttö
亨件ï¼
var resizingTextareas = [].slice.call(document.querySelectorAll('textarea[autoresize]'));resizingTextareas.forEach(function(textarea) { textarea.addEventListener('syöttö', automaattinen kokoa, false);});function autoresize () { this.style.height = 'automaattinen'; this.style.height = this.scrollHeight+'px'; this.scrollTop = this.scrollHeight; window.scrollTo(window.scrollLeft,(this.scrollTop+this.scrollHeight));}
-
textarea[autoresize] { display: block; ylivuoto piilotettu; kokoa: ei mitään;}
<强>çეᔨæ³ვï¼ლ强>
æ¨å¯ä»¥è¯¦ç»äºè§£å¶å·¥ä½åç blogikirjoituksessani ã
çæ¡ 7 :(å¾åï¼11)
<强>èზªåზ¨è°Ⴣæვ´å¤§å°ზ强>
https://github.com/jackmoore/autosize
A + GitHubæม ï¼จï¼มcdnjs}åจฒมè½»éมม级ï¼ม~3.5kï¼มãมมæ¼ม示ï¼ม
ï¼ï¼13;
ï¼ï¼13;
ï¼ï¼13;
ï¼ï¼13;
ï¼ï¼13;
BTWï¼å¦ææ¨ä½¿ç¨çæ¯ACEç¼è¾å¨ï¼è¯·ä½¿ç¨maxLines: Infinity
ï¼Säädä korkeus automaattisesti sisällön mukaan Ace Cloud 9 -editorissa
çæ¡ 8 :(å¾åï¼6)
溺认为满足H没樨乱丨ºå¨¨ ... ... jahttp://caniuse.com/#feat=contenteditable
åคสéคมคå°คคåคค¶è®¾ç½®ä¸ºæคมงæคผ¬æ¡คæ·å¼มï¼มçค¡มï¼มçค¼มï¼มçค¼มï¼มçค¼ ช¨è° ฃคต´... ... -
è¿ევ§სჍæჃ¹æ³Ⴣვå¾Ⴣ∈éჃღ·ï¼Ⴣä½åჃä¯ä»ქåჃ¨æჃჃჃაäºჃæµჃაäºჃæµ ა -
http://jsfiddle.net/gbutiri/v31o8xfo/
.autoheight { min-korkeus: 16px; fonttikoko: 16px; marginaali: 0; täyte: 10px; kirjasinperhe: Arial; rivin korkeus: 16 kuvapistettä; laatikon koko: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; ylivuoto piilotettu; kokoa: ei mitään; reuna: 1px kiinteä #ccc; ääriviivat: ei mitään; leveys: 200px;}Mikki Hiiri
çæ¡ 9 :(å¾åï¼4)
ä½คค为ä¸คคç§คä¸คåคถฃçคคæค¹æ³ตï¼คæคข¨åฃ¯ä»¥ä½¿çèªå¨è°æ´å¶å¤§å°ãæ¨éè¦éè¿æ·»å
contenteditable="true"
å±จจจค§ä½¿åจจ¶åจ¯ç¼จè¾จï¼จå¹¶ä¸จæจข¨å·²å®จæจจถï¼
div { leveys: 200px;}span { reunus: 1px solid #000; täyte: 5px;}
Käyttäjä voi muokata tätä tekstiä
è? - ... Onlähetyksen yhteydessä
亨件ä¸å°ఆjänneväli
" ja
çæ¡ 10 :(å¾åï¼4)
以ä¸คคéคคคคคดคäºคåฃªåคคคï¼ฃç²ธè´´çฃï¼ฃæฃ论ฃคฃæฃ论è¿ăääº æฃ¥ ja ... ja åºეçვე¨æ·å¼ჃᏏylivuoto piilotettu
ã
çåå
-max -korkeus
årivit
æéåæå°åæå¤§èº«ä¹å¾ææã
function custom() { var style = this.currentStyle || window.getComputedStyle(this); var boxSizing = style.boxSizing === 'border-box' ? parseInt(tyyli.borderBottomWidth, 10) + parseInt(tyyli.borderTopWidth, 10) : 0; this.style.height = ''; this.style.height = (this.scrollHeight + boxSizing) + 'px';};var textarea = document.getElementById("ta");if ('onpropertychange' tekstialueella) { // IE textarea.onpropertychange = säädä; } else if ('oninput' tekstialueella) { textarea.oninput = säädä;}setTimeout(adjust.bind(textarea));
textarea { kokoa: ei mitään; enimmäiskorkeus: 150 pikseliä; reunus: 1px solid #999; ääriviivat: ei mitään; fontti: 18px sans-serif; väri: #333; leveys: 100 %; täyte: 8px 14px; box-sizing: border-box;}
为äºคจ»ค对å®คæต´ï¼คæคข¨åºต该åค¨åคç§คæฃคคคคµä¸คคคµä¸säätää
彿°ï¼
- î
tekstialue
çვლვ宽度éვჃღçªჃთåჃᏏ£å¤§å°Ⴣღ°æვ´èჃჃæვ´èჹÌღღჹÀèვ ვევავავავავალი tekstialue - å½
tekstialue
ç{ââ{1}}æ·å¼å±æ§åçååæ¶ï¼ä¾å¦å½å® ä»näyttö
ï¼éèï¼è½¬ç§»å°ei mitään
æ¶ - 以ç¼ç¨æ¹å¼æ´æ¹
lohko
ç弿¶ é>
请注æï¼ä½¿ç¨tekstialue
æè·åwindow.getComputedStyle
- ½å¸ถæถถถç¼ถåถç»ถæถผãถข
éეჀႂçე¨äºზIE6ï¼ჃæჃჀ以æჃბçჃჃლლჄå¸ჃæჃნთგმå¾åèსმå¾å ანენის ã¸
çæ¡ 11 :(å¾åï¼4)
æ¹æ³ç¥æä¸åã
æä»¬çæ³æ³æ¯å°ææ¬ä»tekstialue
å¤จåจ°pre
-
- ja ¯ä»¥åზᐃბng-model="foo" ng-trim="false"
æ·»åtekstialue
ï¼ång-bind="foo + '\n'"
æ·»åpre
ã请åéviuluã
请确ä¿pre
çåä½å¤§å°ä¸tekstialue
ç¸åã
çæ¡ 12 :(å¾åï¼4)
· -
çæ¡ 13 :(å¾åï¼2)
æ¨å¯ä»¥å¨é®å¥ä»¥ä¸å容æ¶ä½¿ç¨JQueryå±å¼tekstialue
ï¼
$(document).find('textarea').each(function () { var offset = this.offsetHeight - this.clientHeight; $(this).on('näppäimen syötteen kohdistus', function () { $(this) .css('height', 'auto').css('korkeus', this.scrollHeight + offset); });});
çæ¡ 14 :(å¾åï¼2)
- ... ¨ä¸ä½¿ç¨
çæ¡ 15 :(å¾åï¼2)
è¿æ¯panziççæ¡çangularjsæä»¤ã
module.directive('autoHeight', function() { return { rajoittaa: 'A', linkki: function(scope, element, attrs) { element = elementti[0]; var resize = function(){ element.style.height = 'auto'; element.style.height = (element.scrollHeight)+'px'; }; element.addEventListener('muuta', muuta kokoa, false); element.addEventListener('leikata', muuta kokoa, false); element .addEventListener('paste', resize, false); element.addEventListener('pudota', muuta kokoa, false); element.addEventListener('keydown',resize, false); setTimeout(resize, 100); } }; }) ;
HTMLï¼
çæ¡ 16 :(å¾åï¼2)
æç¹ä¿®æ£ãå¨Operaä¸å®ç¾è¿è¡
$('tekstialue').bind('näppäinpainallus', function() { $(this).height(''); var brCount = this.value.split('\n').length; this.rows = brCount+1; //++ Nykimisen poistaminen var areaH = this.scrollHeight, lineHeight = $(this).css('line-height').replace('px',''), calcRows = Math.floor( alueH/linjankorkeus); this.rows = calcRows; });
çæ¡ 17 :(å¾åï¼2)
çæ¡ 18 :(å¾åï¼1)
- ½çვლვაანამამალისა ˆ
$(document).on("näppäinpainallus", "tekstialue", funktio (e) { var korkeus = $(this).css("korkeus"); var iScrollHeight = $(this).prop("scrollHeight"); $(this).css('height',iScrollHeight); });
çæ¡ 19 :(å¾åï¼1)
æ³è¦åæ°çæ¬çAngularä¸å®ç°ç¸åç®æ®æç
Tartu tekstialueelementtiinRefã
@ViewChild('textArea', { read: ElementRef }) textArea: ElementRef;public autoShrinkGrow() { textArea.style.overflow = 'piilotettu'; textArea.style.height = '0px'; textArea.style.height = textArea.scrollHeight + 'px';}
- - ¶ä¸¸───────overflow:scroll
æคคคคคคคค½ä¼คæค¹ä¾¿ä¸คคäºคé读线ç¨คçฃคคçคçฃคคçคçฃคคçค¨æคคçค¨æ ค -
public autoGrowShrinkToCertainHeight() { const textArea = this.textArea.nativeElement; if (textArea.scrollHeight > 77) { textArea.style.overflow = 'auto'; palata; } else { textArea.style.overflow = 'piilotettu'; textArea.style.height = '0px'; textArea.style.height = textArea.scrollHeight + 'px'; } }
çæ¡ 20 :(å¾åï¼1)
- ...
textarea.rows = Math.max(2, textarea.value.split("\n").length) // # oninput
-https://jsbin.com/kajosolini/1/edit?html,js,output
ï¼è¿ä¸æµè§å¨çæå¨è°æ´å¤§å°ææéå使 ç¨ï¼
çæ¡ 21 :(å¾åï¼1)
åªé使ç¨
çä¸äºæ·å¼ï¼
pre { font-family: Arial, Helvetica, sans-serif; tyhjä tila: pre-wrap; word-wrap: break-word; fonttikoko: 12px; rivin korkeus: 16 kuvapistettä; }
çæ¡ 22 :(å¾åï¼1)
çæ¡ 23 :(å¾åï¼1)
-
onKeyPressTextMessage = function(){var textArea = event.currentTarget; textArea.style.height = 'auto'; textArea.style.height = textArea.scrollHeight + 'px';};
以䏿¯JSFiddle
çæ¡ 24 :(å¾åï¼1)
> |
// säädä textarea.auto-height$(document).on( 'keyup', 'textarea.auto-height', function (e){ $(this).css('height', 'auto' ); // voit määrittää tämän tässä tai ilmoittaa sen sijaan CSS:ssä $(this).height( this.scrollHeight );}).keyup();
//åCSS
textarea.auto-height { kokoa: pystysuora; enimmäiskorkeus: 600 pikseliä; /* aseta tarpeen mukaan */ korkeus: auto; /* voidaan asettaa tästä JS:ssä */ overflow-y: auto; word-wrap:break-word}
æéè¦çåªæ¯å°.auto-height
è¯¾ç¨æ·»åå°æ¨è¦å®ä½çä»»ä½tekstialue
ã
Safari - è? d
çæ¡ 25 :(å¾åï¼1)
迸ለለለለለሰሀሃèለለለሕå¡«åለለለለለሀለ
Hae ja $¾Ä½æ ¸¸XAxHEight ranskaksi All islandc ie ³è ³è ³è åâ å ³ it å ç ç ç ç î¼ ï
// vaatii ilmeisesti jQueryn // elementti on tekstialueen DOM-solmu var $el = $(elementti); // sisäkorkeus on korkeus + täyte // ulkokorkeus sisältää reunuksen (ja mahdollisesti myös marginaalit?) var padding = $el.innerHeight() - $el.height(); var originalHeight = $el.height(); // XXX: Älä jätä tätä kovakoodattua var maxHeight = 300; var säädä = function() { // palauttaa sen alkuperäiseen korkeuteen niin, että scrollHeight on järkevä $el.height(originalHeight); // tämä on haluttu korkeus (muokattu sisällön kokoon) var height = element.scrollHeight - täyte; // Jos et halua maksimikorkeutta, voit jättää tämän korkeuden huomioimatta = Math.min(height, maxHeight); // Aseta korkeus uuteen säädettyyn korkeuteen $el.height(height); } // Syötetapahtuma toimii vain nykyaikaisissa selaimissa element.addEventListener('input', säädä);
çæ¡ 26 :(å¾åï¼0)
对äºจคมคมคมคมคå¸คæมคtextareaåม¨å®½åº¦åมมé«ม度ä¸มé«ม度ä¸ส¡มº¦ä¸ส¡èมå¦ä¸มค §å °ถ 縺ºï¼¸
HTMLï¼
CSSï¼
.textbox,.tmp_textbox { font-family: 'Arial'; fonttikoko: 12px; kokoa: ei mitään; overflow:hidden;}.tmp_textbox { display: none;}
jQueryçï¼
$(function(){ //alert($('.textbox').css('padding')) $('.textbox').on('avaimen muutos', checkSize) $('.textbox'). trigger('keyup') function checkSize(){ var str = $(this).val().replace(/\r?\n/g, '
'); $('.tmp_textbox'). html( str ) console.log($(this).val()) var strArr = str.split('
') var row = strArr.length $('.textbox').attr('rivit' , rivi) $('.textbox').width( $('.tmp_textbox').width() + parseInt($('.textbox').css('täyte')) * 2 + 10 ) }})
Codepen
http://codepen.io/anon/pen/yNpvJJ
å¹²æ¯ï¼
çæ¡ 27 :(å¾åï¼0)
迸¸¸¸¸¸¸¸¸è¸è®è¸¸ºä¸ºtekstialue
设置æå¤§è¡æ°ï¼ä¹åtekstialue
-rivit
-
妿tekstialue
鸸亸¹å¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸æ¸¸æ²¡æ¸¸¸¸¸»ä½¸¸å¸¸¸¸¹ï¼å¸¸¸¸¹ï ¸¸¸°¸¸¸æ¸æ¸¸æ¸¸æ¸¸æ¸¸æ¸æ ᔕᔕᔕᗩ
è? å¸⊊常¸å®½åº¦ã¸¸¸¸¸¸¸ºmax-leveys
ja®¾ç½®ä¸ზ个tekstialue
-suurin leveys: 100 %;
ä¹ვევავავავავავავავალიsyöttö
çtype="teksti"
åæ®µãæ¨å¯ä»¥å¨æ¤vastausä¸é读æ´å¤ç¸å³ä¿¡æ¯ã
const textarea = document.querySelector('textarea');setTextareaWidthHeight(tekstialue);textarea.addEventListener('input', setTextareaWidthHeight.bind(this, textarea));function getInputWidth(element) { const text = = elementti. element.placeholder; const elementStyle = ikkuna.getComputedStyle(elementti); const fontProperty = elementStyle.font; const horizontalBorder = parseFloat(elementStyle.borderLeftWidth) + parseFloat(elementStyle.borderRightWidth); const horisontaalinenPadding = parseFloat(elementStyle.paddingLeft) + parseFloat(elementStyle.paddingRight); const canvas = document.createElement('canvas'); const konteksti = canvas.getContext('2d'); konteksti.font = fontProperty; const textWidth = konteksti.mittateksti(teksti).leveys; const totalWidth = vaakaReuna + horisontaalinen täyte + tekstiLeveys + "px"; return totalWidth;}funktio setTextareaWidthHeight(elementti) { // tallentaa rivien minimi- ja enimmäismääritteen arvo, joka tulee asettaa const minRows = 1; const maxRows = 5; // tallentaa alkuperäisen rivin ylivuotoominaisuuden arvon muuttujaan, jotta se voidaan myöhemmin palauttaa alkuperäiseen ehtoon const originInlineOverflowY = element.style.overflowY; // Muuta ylivuoto-y-ominaisuuden arvo piilotetuksi välttääksesi epäjohdonmukaiset leveyserot, jotka johtuvat vierityspalkin leveyselementistä.style.overflowY = 'piilotettu'; const totalWidth = getInputWidth(element); element.style.width = totalWidth; anna rivit = minRows; element.setAttribute("rivit", rivit); while (rivit <= maxRows && element.scrollHeight !== element.clientHeight) { element.setAttribute("rivit", rivit); rivit++; } // muuta ylivuoto alkuperäiseen ehtoonsa if (initialInlineOverflowY) { element.style.overflowY = alkuperäinenInlineOverflowY; } else { element.style.removeProperty("overflow-y"); }}
tekstialue { max-width: 100%;}
çæ¡ 28 :(å¾åï¼0)
...pieni (7 kt) mukautettu elementtiï¼│å│┏¯ä»¥ä¸ºæ│¨å¤┄ç│┐┆æ┉─æ├┉è¿┙äº┛大å°│è°││Ô─┕´é ã─│
å®ვåზ✨ä»»ä½ზåზ°æზ¹éჃ½åზ¯ä»¥ä½¿çე¨ï¼å为å®Ⴣæზ˘¯ä½Ⴣ˜ä¸ºჃჄ˜ä¸º คคฃç´å®คçค°çค คãคขวåค¶ä¸åฌมæม¬ï¼มèมมæมตมDOMï¼จReactï¼มElmçมคïæ¡มคïæ¡มคï คคç« ¯æ¸²æคคคคçคคä¸ฃ西ï¼ฃå¦ฃPHPï¼ฃåมฒฌ纯æฃ´çฃบคHTMLæฃฃบคHTMLæ
Se on ... ... ä»ขçข¶æ£å¸¸ãขข
è¿æ¯å®çå ¥ä½æ¹å¼ï¼
// Yhden Javascript-tiedostosi yläosassa tuonti "autoheight-textarea";
æåå«ä¸ºèæ¬æç¾
ç¶ååè¿æ·åè£æ¨çtextareaåç´
HTMLæä»¶
React.jsç»ä»¶
const MyComponent = () => { return ( );}
ja Codesandboxhttps://codesandbox.io/s/unruffled-http-2vm4c
æ¨å¯ä»¥å¨è¿éè·å软件åï¼https://www.npmjs.com/package/autoheight-textarea
妿æ¨åªæ¯æ³ç¥éè°æ´å¤§å°çé»è¾ï¼å¯ä»¥ çç以ä¸åè½ï¼https://github.com/Ahrengot/autoheight-textarea/blob/master/src/index.ts#L74-L85
çæ¡ 29 :(å¾åï¼0)
Kulma 2+
resize(e) { setTimeout(() => { e.target.style.height = 'auto'; e.target.style.height = (e.target.scrollHeight)+'px'; }, 0); }tekstialue { kokoa: ei mitään; ylivuoto piilotettu;}
çæ¡ 30 :(å¾åï¼0)
A ... ...
çæ¡ 31 :(å¾åï¼0)
æåç°çæå¥½æ¹å¼ï¼
$("textarea.auto-grow").each( function(){ $(this).keyup(function(){ $(this).height( $(this)[0].scrollHeight - Number( $(this) ).css("font-size").replace("px", "") ) ); });});
å¶ä»æ¹å¼é½æåä½å¤§å°é误ã
> ¸¸¸ºä»¸¸ºä»¸¸¸ºä¿¿¸¸¸¸¸¸¸
çæ¡ 32 :(å¾åï¼0)
使ç¨qQueryçMakeTextAreaResisable
function MakeTextAreaResisable(id) { var o = $(id); o.css("overflow-y", "piilotettu"); function ResizeTextArea() { o.height('auto'); o.height(o[0].scrollHeight); } o.on('muuta', function (e) { ResizeTextArea(); }); o.on('cut paste drop keydown', function (e) { window.setTimeout(ResizeTextArea, 0); }); o.focus(); o.select(); ResizeTextArea();}
çæ¡ 33 :(å¾åï¼0)
没æคคคคä¸คค个çఔæ¡คä¼¼ä¹คÎæคคคæคตคãคคข丸คคขä½คคขä½คคขä½ค คมคมตçఔ¨ï¼คhttps://coderwall.com/p/imkqoq/resize-textarea-to-fit-content
$('#content').on( 'change keyup keydown paste cut', 'textarea', function (){ $(this).height(0).height(this.scrollHeight);}).find( 'textarea ' ).change();
çæ¡ 34 :(å¾åï¼0)
è¿˖˖˖˘¯æ˖ˈ˖ˑå˖˜¨ä¸º TextArea使ç˖˔¨MVC HTML Helperæ˖˗¶æ˖˖ˀå˖˖˜˖˖˖˖ˈå ˖˕textareaå˖˅˖ç ´ï¼│æ│┉─以å¿│⅀¡»ä½¿ç└¨Malli Idå│ºå│┈┆å®┃们ã──
@Html.TextAreaFor(m => m.Teksti, 2, 1, new { id = "text" + Model.Id, onkeyup = "resizeTextBox(" + Model.Id + ");" })
-
function resizeTextBox(ID) { var teksti = document.getElementById('teksti' + ID); text.style.height = 'auto'; text.style.height = text.scrollHeight + 'px'; }
æå¨IE10åFirefox23䏿µè¯äºå®
çæ¡ 35 :(å¾åï¼0)
åคคคมคมคมคมคมคมค§£åคค³æค¹æ¡คåค¨Firefoxä¸éæ²คçค¸¸æ²¡æค คwithclientHeightæคถ¹æ³ตæค˛´å¿ «......
1ï¼å°div.textarea
鿩卿·»åå°åå«tekstialue
çææéæ©å¨ä¸ãä¸è¦å¿è®°æ·»ålaatikon koko: border-box;
2ï¼åæ¬è¿ä¸ªèæ¬ï¼
function resizeAll(){ var textarea=document.querySelectorAll('tekstialue'); for(var i=textarea.length-1; i>=0; i--) resize(textarea[i]);}function resize(tekstialue){ var div = document.createElement("div"); div.setAttribute("luokka","tekstialue"); div.innerText=textarea.value+"\r\n"; div.setAttribute("tyyli","leveys:"+tekstialue.offsetWidth+'px;näyttö:lohko;korkeus:auto;vasen:0px;yläosa:0px;sijainti:kiinteä;z-indeksi:-200;näkyvyys:piilotettu; word-wrap:break-word;overflow:hidden;'); textarea.form.appendChild(div); var h=div.offsetHeight; div.parentNode.removeChild(div); textarea.style.height=h+'px';}function resizeOnInput(e){ var textarea=document.querySelectorAll('textarea'); for(var i=textarea.length-1; i>=0; i--) textarea[i].addEventListener("syöttö",funktio(e){resize(e.target); return false;},false) ;}window.addEventListener("resize",function(){resizeAll();}, false);window.addEventListener("load",function(){resizeAll();}, false);resizeOnInput();
å¨IE11ï¼FirefoxåChrome䏿µè¯è¿ã
æ¤è§£åคคคคคถ¹æ¡คåคคค建类似äºคtextareaçบคdivï¼คåคคæคซคคæคซ ถตæ คผ¬åคมค度éค გამანანანა
çæ¡ 36 :(å¾åï¼0)
æ¨å¯ä»¥ä½¿ç¨æ¤ä»£çï¼
Coffescript
jQuery.fn.extend autoHeightTextarea: -> autoHeightTextarea_ = (elementti) -> jQuery(element).css( 'height': 'auto' 'overflow-y': 'piilotettu').height element.scrollHeight @each -> autoHeightTextarea_ (@). on 'input', -> autoHeightTextarea_ @$('textarea_class_or_id`').autoHeightTextarea()
Javascript
jQuery.fn.extend({ autoHeightTextarea: function() { var autoHeightTextarea_; autoHeightTextarea_ = function(element) { return jQuery(element).css({ 'height': 'auto', 'overflow-y': 'piilotettu' } .height(element.scrollHeight); }; return this.each(function() { return autoHeightTextarea_(this).on('input', function() { return autoHeightTextarea_(this); }); }); }} );$('textarea_class_or_id`').autoHeightTextarea();
çæ¡ 37 :(å¾åï¼0)
æดข¨åถ¯ä»¥ä½¿çจจ¨è¿จจ®µä»£çจตจจ¥è®¡ç®ทtextareaæมéผมçมéผมçมéผมçมéผมçจéผมçจéผมçจจ®µä ม°ï¼ม
plone.app.contenttypes
å¨textarea.rows = 1; if (textarea.scrollHeight > textarea.clientHeight) textarea.rows = textarea.scrollHeight / textarea.clientHeight;
åsyöttö
äºฃคä»¶ä¸å¯¹åฃ¶è¿è¡è®¡ç®ï¼ä»¥è·å¾èªåฃ¨è°æ´å¤§å° Angularä¸çç
模æ¿ä»£çï¼
window:resize
èªå¨wrap.directive.ts
çæ¡ 38 :(å¾åï¼0)
on¿æ¯Moussawi7çvastausçjQueryçæ¬ã
$(function() { $("textarea.auto-grow").on("input", function() { var element = $(this)[0]; element.style.height = "5px"; elementti. style.height = (element.scrollHeight) + "px"; });})
textarea { kokoa: ei mitään; ylivuoto: auto; leveys: 100 %; minimikorkeus: 50 kuvapistettä; enimmäiskorkeus: 150 pikseliä;}
çæ¡ 39 :(å¾åï¼0)
jQueryè§£åจค³æจ¹æ¡จæจ¯å°จtextareaçบจé«จ度设置为ï¼จฆï¼จ39; autoï¼┆ï¼┃39;ï¼│æ£│ æ│¥scrollHeightï¼┌ç│℟å│┎æ¯┏次textareaæ┛´æ│ç┃│ │℄é«┘åº ¦ (JSFiddleï¼ ï¼
$('textarea').on( 'syöttö', function(){ $(this).height( 'auto' ).height( this.scrollHeight );});
AJAX-teksti ሉ.ready䏿·»åለå®ሃï¼ለ以确ä¿ምæለሉကæሜሉtextareasä¸ሎclassï¼ሆï¼ሃ39; autoheightï¼∆ï¼∃39;ä¿Ⴡä¸რåვ¶åჃჅ容çმ¸åზᐃçჃვჃºïზვჃºï
$(document).on( 'input', 'textarea.autoheight', function() { $(this).height( 'auto' ).height( this.scrollHeight );});
å¨Chromeï¼Firefoxï¼OperaåIE䏿µè¯å¹¶ä½¿ç¨ãè¿æ¯æ¼åªå´² é¿è¯çã
çæ¡ 40 :(å¾åï¼-1)
Reagoi ç示ä¾å®ç°ï¼
const { useLayoutEffect, useState, useRef} = React;const TextArea = () => { const ref = useRef(); const [arvo, setValue] = useState('Jonkin alkuteksti, joka sekä rivittää että käyttää\nnew\nrivejä'); // Tämä seuraa vain automaattisen koon korkeutta, jotta voimme kertoa, onko käyttäjä muuttanut kokoa manuaalisesti const autoHeight = useRef(); useLayoutEffect(() => { if (!ref.current) { return; } if ( autoHeight.current !== undefined && ref.current.style.height !== autoHeight.current ) { // älä kokoa automaattisesti jos käyttäjä on muuttanut korkeuden palautusta manuaalisesti } ref.current.style.height = "auto"; ref.current.style.overflow = "piilotettu" const next = `${ref.current.scrollHeight}px`; ref.current.style.height = seuraava; autoHeight.current = seuraava; ref.current.style.overflow = "auto"; }, [arvo, viite, autoHeight]); return (
çæ¡ 41 :(å¾åï¼-1)
ææ¨èæ¥èªhttp://javierjulio.github.io/textarea-autosizeçjavascriptåºã
æ¹æฃค®è¯ฃ论ï¼ฃåฃข¨æฃฃฃ件使ç¨ä¸æ·»å示ä¾ä»£çåฃฃบ
æéçæä½CSSï¼
textarea { box-sizing: border-box; enimmäiskorkeus: 160 pikseliä; // valinnainen mutta suositeltu minimikorkeus: 38px; ylivuoto-x: piilotettu; // Firefoxille (ongelma 5)}
çæ¡ 42 :(å¾åï¼-1)
æจจจมจจจย»¥ä½¿çจ¨ä»¥ä¸จตjQueryåจ½æจ°åจ¨IE9åจฌChromeä¸è®TexA°re®. จจ จว »จย ® มบมจจ ° $ ï¼ จ dokumentti จ. จตววิว่ว้ว้วด ±¡ãĂ
function autoResize(obj, size) { obj.keyup(function () { if ($(this).arvo().pituus > koko-1) { $(this).val(function() { $(this). height(function() { return this.scrollHeight + 13; }); alert('Kommentin enimmäispituus on '+koko+' merkkiä.'); return $(this).val().substring(0, size-1 ); }); } $(this).height(function() { if ($(this).val() == '') { return 15; } else { $(this).height(15); return ($(this).attr('scrollHeight')-2); } }); }).keyup();}
卿ç$ï¼documentï¼.readyï¼ï¼å½æ°ä¸ï¼æå¯¹æ¤é¡µé¢ä¸çææ textareaè°ç¨é½è¿è¡äºä»¥ä¸è°ç¡äºä»¥ä¸è°ç
$('tekstialue').each( function() { autoResize($(this), 250);});
250
- - ... ... ¨
çæ¡ 43 :(å¾åï¼-1)
$('textarea').bind('keyup change', function() { var $this = $(this), $offset = this.offsetHeight; $offset > $this.height() && $offset < 300 ? $ this.css('height', $offset) .attr('rivit', $this.val().split('\n').length) .css({'height' : $this.attr('scrollHeight) '),'overflow' : 'hidden'}) : $this.css('overflow','auto');});
çæ¡ 44 :(å¾åï¼-1)
* ¸æ¸¸è¯¸è¿¸è¸¸æ¸¸è¸¸è§¸è§¸¸Chromeå¸¸æ¸æ¸æ¸å¤ ±è´¥äºคคãคคค ค¿คคคค¯åฃ为ä¸คคæคคæค´æค°çฃคscrollHeightåคคคคคคมคม
·²ç»ä½¿ç¨jQueryåºç¨äºPettynyt Goatèæ¬å¹¶æ·»åäºkromikorjaus
function fitToContent(/* JQuery */teksti, /* Numero */maksimikorkeus) { var säädetytKorkeus = teksti.korkeus(); var relation_error = parseInt(text.attr('suhteellinen_virhe')); if (!maksimikorkeus || maksimikorkeus > sovitettuKorkeus) { säädettyKorkeus = Math.max(teksti[0].vierityskorkeus, säädettykorkeus); if (maksimikorkeus) säädettykorkeus = matem.min(maksimikorkeus, säädettykorkeus); if ((adjustedHeight - suhteellinen_virhe) > text.height()) { text.css('korkeus', (adjustedHeight - suhteellinen_virhe) + "px"); // chrome fix if (text[0].scrollHeight != adjustedHeight) { var suhteellinen = teksti[0].scrollHeight - säädetytHeight; if (suhteellinen_virhe != suhteellinen) { text.attr('suhteellinen_virhe', suhteellinen + suhteellinen_virhe); } } } }}function autoResizeText(/* Number */maxHeight) { var resize = function() { sovi Sisältö($(this), maxHeight); }; $("tekstialue").attr('suhteellinen_virhe', 0); $("tekstialue").each(resize); $("tekstialue").keyup(resize).keydown(resize);}
çæ¡ 45 :(å¾åï¼-2)
å¦ვႂæვავანავვავა»¥ä¿¡ä»»scrollHeightï¼ვéვႂ£ä¹Ⴣï¼Ⴣ
textarea.onkeyup=function() { this.style.height=''; this.rows=this.value.split('\n').length; this.style.height=this.scrollHeight+'px';}