Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Lorem Ipsum text variations
- const loremTexts = [
- "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.",
- "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.",
- "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.",
- "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.",
- "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.",
- "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.",
- "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.",
- "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.",
- "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.",
- "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."
- ];
- // Keep track of last used index to ensure different text each time
- let lastUsedIndex = -1;
- // Function to get a random lorem text different from the last one
- function getRandomLoremText() {
- let randomIndex;
- do {
- randomIndex = Math.floor(Math.random() * loremTexts.length);
- } while (randomIndex === lastUsedIndex && loremTexts.length > 1);
- lastUsedIndex = randomIndex;
- return loremTexts[randomIndex];
- }
- // Function to insert text at cursor position
- function insertTextAtCursor(textarea, text) {
- const start = textarea.selectionStart;
- const end = textarea.selectionEnd;
- const before = textarea.value.substring(0, start);
- const after = textarea.value.substring(end);
- // Insert the text
- textarea.value = before + text + after;
- // Set cursor position after inserted text
- const newCursorPos = start + text.length;
- textarea.setSelectionRange(newCursorPos, newCursorPos);
- // Focus back on textarea
- textarea.focus();
- // Trigger input event for any listeners
- textarea.dispatchEvent(new Event('input', { bubbles: true }));
- }
- // Main event listener
- document.addEventListener('keydown', function(event) {
- // Check if Alt+I is pressed
- if (event.altKey && event.key.toLowerCase() === 'i') {
- // Check if the active element is a textarea
- const activeElement = document.activeElement;
- if (activeElement && activeElement.tagName.toLowerCase() === 'textarea') {
- event.preventDefault(); // Prevent default Alt+I behavior
- const loremText = getRandomLoremText();
- insertTextAtCursor(activeElement, loremText);
- console.log('Lorem ipsum inserted!'); // Optional: for debugging
- }
- }
- });
- 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