Quizlet 'Learn' Mode Global Input Stopper

Only accept 'enter', 'space' keys and 'click' events. Enter to submit, space to override answer. | https://greasyfork.org/en/users/3656-kaiko

目前為 2016-03-25 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Quizlet 'Learn' Mode Global Input Stopper
  3. // @namespace QZLT_LearnKBMode
  4. // @description Only accept 'enter', 'space' keys and 'click' events. Enter to submit, space to override answer. | https://greasyfork.org/en/users/3656-kaiko
  5. // @include http://quizlet.com/*/learn*
  6. // @include https://quizlet.com/*/learn*
  7. // @version 1.2
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. window.addEventListener('load', function() {
  12. Element.NativeEvents={click:2,dblclick:0,mouseup:0,mousedown:0,contextmenu:0,mousewheel:0,DOMMouseScroll:0,mouseover:0,mouseout:0,mousemove:0,selectstart:1,selectend:0,keydown:0,keypress:0,keyup:0,input:0,orientationchange:2,touchstart:2,touchmove:2,touchend:2,touchcancel:2,gesturestart:2,gesturechange:2,gestureend:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,paste:2,oninput:2,load:2,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};
  13.  
  14. window.addEventListener("keydown", enter, true);
  15. function enter(charE) {
  16. var answerBtn = document.getElementById("answer-button");
  17. var checkBtn = document.getElementsByClassName("LearnModeMain-anyKey");
  18. var overrideBtn = document.getElementsByClassName("LearnModeGradeAnswerView-overrideButton");
  19. if (charE.keyCode == "13") {
  20. if (answerBtn){
  21. answerBtn.click();
  22. } else if (checkBtn) {
  23. checkBtn[0].click();
  24. }
  25. }
  26. if (charE.keyCode == "32") {
  27. if (overrideBtn){
  28. overrideBtn[0].click();
  29. } else {
  30. return;
  31. }
  32. }
  33. }
  34. }, false);