Libraryless. Click here for Pure Java version (5384L/31K).
1 | // needs JQuery |
2 | // might actually handle divs too in addition to textareas |
3 | sS hjs_autoExpandingTextAreas(bool verbose default false) { |
4 | ret |
5 | hcss([[ |
6 | .auto-expand { |
7 | max-height: 30em; vertical-align: top; |
8 | } |
9 | ]]) |
10 | + hjs(replaceDollarVars([[ |
11 | var autoExpandVerbose = $verbose; |
12 | |
13 | var autoExpandTextArea = function (ta) { |
14 | ta.style.height = "1px"; |
15 | |
16 | // Get the computed styles for the element |
17 | var computed = window.getComputedStyle(ta); |
18 | |
19 | var h = ta.scrollHeight |
20 | + parseInt(computed.getPropertyValue('border-top-width')) |
21 | + parseInt(computed.getPropertyValue('border-bottom-width')); |
22 | |
23 | if (autoExpandVerbose) |
24 | console.log("Calculated auto-expand height " + h + " for " + ta); |
25 | ta.style.height = h + 'px'; |
26 | }; |
27 | |
28 | document.addEventListener('input', function (event) { |
29 | if (!event.target.classList.contains("auto-expand")) return; |
30 | autoExpandTextArea(event.target); |
31 | }, false); |
32 | |
33 | //$(document).ready(function() { |
34 | document.addEventListener("DOMContentLoaded", function(event) { |
35 | $(".auto-expand").each(function() { autoExpandTextArea(this); }); |
36 | }); |
37 | ]], +verbose); |
38 | } |
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, vouqrxazstgt
No comments. add comment
Snippet ID: | #1030898 |
Snippet name: | hjs_autoExpandingTextAreas |
Eternal ID of this version: | #1030898/20 |
Text MD5: | f27214f18c6563aec0aef543d3fde2ea |
Transpilation MD5: | 77a36ebaba408bb238f008309bed75db |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2021-11-16 00:25:39 |
Source code size: | 1240 bytes / 38 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 263 / 415 |
Version history: | 19 change(s) |
Referenced in: | [show references] |