Advertisement
Guest User

Untitled

a guest
Apr 16th, 2022
1,555
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. const events = ["keydown", "keypress", "keyup", "change", "input"];
  4.  
  5. const handler = event => {
  6.     event.stopPropagation();
  7.     event.preventDefault();
  8.     return false;
  9. };
  10.  
  11. const disableAllUserEvents = () => {
  12.     for (let i = 0, l = events.length; i < l; i++) {
  13.         document.addEventListener(events[i], handler, true);
  14.     }
  15. };
  16.  
  17. const enableAllUserEvents = () => {
  18.     for (let i = 0, l = events.length; i < l; i++) {
  19.         document.removeEventListener(events[i], handler, true);
  20.     }
  21. };
  22.  
  23. function typeInTextarea(newText, el = document.activeElement) {
  24.   const start = el.selectionStart
  25.   const end = el.selectionEnd
  26.   const text = el.value
  27.   const before = text.substring(0, start)
  28.   const after  = text.substring(end, text.length)
  29.   el.value = (before + newText + after)
  30.   el.selectionStart = el.selectionEnd = start + newText.length
  31.   el.focus()
  32. }
  33.  
  34. document.onkeydown = function(event) {
  35.     console.log(event.key);
  36.  
  37.     if (event.key != '(' && event.key != '{' && event.key != '[') return true;
  38.  
  39.     disableAllUserEvents();
  40.     typeInTextarea(event.key);
  41.     enableAllUserEvents();
  42.  
  43.     event.stopPropagation();
  44.     event.preventDefault();
  45.     return true;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement