Javi

Browser: Alt+i for LoremIpsum in TextAreas

Sep 15th, 2025
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.81 KB | None | 0 0
  1. // Lorem Ipsum text variations
  2. const loremTexts = [
  3. "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.",
  4.  
  5. "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt.",
  6.  
  7. "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident.",
  8.  
  9. "But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings.",
  10.  
  11. "On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire.",
  12.  
  13. "Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur.",
  14.  
  15. "Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus.",
  16.  
  17. "Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus.",
  18.  
  19. "Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.",
  20.  
  21. "Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse."
  22. ];
  23.  
  24. // Keep track of last used index to ensure different text each time
  25. let lastUsedIndex = -1;
  26.  
  27. // Function to get a random lorem text different from the last one
  28. function getRandomLoremText() {
  29. let randomIndex;
  30. do {
  31. randomIndex = Math.floor(Math.random() * loremTexts.length);
  32. } while (randomIndex === lastUsedIndex && loremTexts.length > 1);
  33.  
  34. lastUsedIndex = randomIndex;
  35. return loremTexts[randomIndex];
  36. }
  37.  
  38. // Function to insert text at cursor position
  39. function insertTextAtCursor(textarea, text) {
  40. const start = textarea.selectionStart;
  41. const end = textarea.selectionEnd;
  42. const before = textarea.value.substring(0, start);
  43. const after = textarea.value.substring(end);
  44.  
  45. // Insert the text
  46. textarea.value = before + text + after;
  47.  
  48. // Set cursor position after inserted text
  49. const newCursorPos = start + text.length;
  50. textarea.setSelectionRange(newCursorPos, newCursorPos);
  51.  
  52. // Focus back on textarea
  53. textarea.focus();
  54.  
  55. // Trigger input event for any listeners
  56. textarea.dispatchEvent(new Event('input', { bubbles: true }));
  57. }
  58.  
  59. // Main event listener
  60. document.addEventListener('keydown', function(event) {
  61. // Check if Alt+I is pressed
  62. if (event.altKey && event.key.toLowerCase() === 'i') {
  63. // Check if the active element is a textarea
  64. const activeElement = document.activeElement;
  65. if (activeElement && activeElement.tagName.toLowerCase() === 'textarea') {
  66. event.preventDefault(); // Prevent default Alt+I behavior
  67.  
  68. const loremText = getRandomLoremText();
  69. insertTextAtCursor(activeElement, loremText);
  70.  
  71. console.log('Lorem ipsum inserted!'); // Optional: for debugging
  72. }
  73. }
  74. });
  75.  
  76. console.log('Lorem Ipsum inserter loaded! Press Alt+I in any textarea to insert random lorem text.');
Add Comment
Please, Sign In to add comment