@@ -3,19 +3,19 @@ package assert
33const mainJs = `
44(function () {
55function enableDragUpload() {
6- if (!document.querySelector) {
6+ if (!document.querySelector || !document.addEventListener || !document.body.classList ) {
77return;
88}
99var upload = document.body.querySelector('.upload');
10- if (!upload || !upload.addEventListener ) {
10+ if (!upload) {
1111return;
1212}
1313var fileInput = upload.querySelector('.file');
1414var addClass = function (ele, className) {
15- ele && ele.classList && ele.classList .add(className);
15+ ele && ele.classList.add(className);
1616};
1717var removeClass = function (ele, className) {
18- ele && ele.classList && ele.classList .remove(className);
18+ ele && ele.classList.remove(className);
1919};
2020var onDragEnterOver = function (e) {
2121e.stopPropagation();
@@ -36,10 +36,10 @@ return;
3636}
3737fileInput.files = e.dataTransfer.files;
3838};
39- upload.addEventListener('dragenter', onDragEnterOver);
40- upload.addEventListener('dragover', onDragEnterOver);
41- upload.addEventListener('dragleave', onDragLeave);
42- upload.addEventListener('drop', onDrop);
39+ upload.addEventListener('dragenter', onDragEnterOver, false );
40+ upload.addEventListener('dragover', onDragEnterOver, false );
41+ upload.addEventListener('dragleave', onDragLeave, false );
42+ upload.addEventListener('drop', onDrop, false );
4343}
4444function enableFilter() {
4545if (!document.querySelector) {
@@ -101,23 +101,25 @@ var onValueMayChange = function () {
101101clearTimeout(timeoutId);
102102timeoutId = setTimeout(doFilter, 350);
103103};
104- input.addEventListener('input', onValueMayChange);
105- input.addEventListener('change', onValueMayChange);
104+ input.addEventListener('input', onValueMayChange, false );
105+ input.addEventListener('change', onValueMayChange, false );
106106input.addEventListener('keydown', function (e) {
107107switch (e.key) {
108108case 'Enter':
109109clearTimeout(timeoutId);
110110input.blur();
111111doFilter();
112+ e.preventDefault();
112113break;
113114case 'Escape':
114115case 'Esc':
115116clearTimeout(timeoutId);
116117input.value = '';
117118doFilter();
119+ e.preventDefault();
118120break;
119121}
120- });
122+ }, false );
121123// init
122124if (sessionStorage) {
123125var prevSessionFilter = sessionStorage.getItem(location.pathname);
@@ -126,7 +128,7 @@ window.addEventListener('beforeunload', function () {
126128if (input.value) {
127129sessionStorage.setItem(location.pathname, input.value);
128130}
129- });
131+ }, false );
130132if (prevSessionFilter) {
131133input.value = prevSessionFilter;
132134}
@@ -180,7 +182,7 @@ target = null;
180182xhr.send();
181183e.preventDefault();
182184return false;
183- });
185+ }, false );
184186}
185187enableDragUpload();
186188enableFilter();
0 commit comments