소스 검색

Merge branch 'instacart-disable-backspace-navigation'

Andrew Kane 8 년 전
부모
커밋
9f5aad2591
2개의 변경된 파일34개의 추가작업 그리고 0개의 파일을 삭제
  1. 32 0
      app/assets/javascripts/blazer/application.js
  2. 2 0
      app/views/blazer/queries/_form.html.erb

+ 32 - 0
app/assets/javascripts/blazer/application.js

@@ -23,3 +23,35 @@ $( function () {
     $(this).parent().addClass('open');
   });
 });
+
+// Prevent backspace from navigating backwards.
+// Adapted from Biff MaGriff: http://stackoverflow.com/a/7895814/1196499
+function preventBackspaceNav() {
+  $(document).keydown(function (e) {
+    var preventKeyPress;
+    if (e.keyCode == 8) {
+      var d = e.srcElement || e.target;
+      switch (d.tagName.toUpperCase()) {
+        case 'TEXTAREA':
+          preventKeyPress = d.readOnly || d.disabled;
+          break;
+        case 'INPUT':
+          preventKeyPress = d.readOnly || d.disabled || (d.attributes["type"] && $.inArray(d.attributes["type"].value.toLowerCase(), ["radio", "reset", "checkbox", "submit", "button"]) >= 0);
+          break;
+        case 'DIV':
+          preventKeyPress = d.readOnly || d.disabled || !(d.attributes["contentEditable"] && d.attributes["contentEditable"].value == "true");
+          break;
+        default:
+          preventKeyPress = true;
+          break;
+      }
+    }
+    else {
+      preventKeyPress = false;
+    }
+
+    if (preventKeyPress) {
+      e.preventDefault();
+    }
+  });
+}

+ 2 - 0
app/views/blazer/queries/_form.html.erb

@@ -146,4 +146,6 @@
     $("#query_statement").val(editor.getValue());
     return true;
   });
+
+  preventBackspaceNav();
 </script>