|
@@ -26,6 +26,43 @@ new Vue({
|
|
|
});
|
|
|
},
|
|
|
|
|
|
+ mounted: function () {
|
|
|
+
|
|
|
+ // 整个popup窗口支持上线选择
|
|
|
+ document.body.addEventListener('keydown', e => {
|
|
|
+ let keyCode = e.keyCode || e.which;
|
|
|
+ if(![38,40,13].includes(keyCode)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let ul = document.querySelector('#pageContainer ul');
|
|
|
+ let hovered = ul.querySelector('li.x-hovered');
|
|
|
+ let next,prev;
|
|
|
+ if (hovered) {
|
|
|
+ hovered.classList.remove('x-hovered');
|
|
|
+ next = hovered.nextElementSibling;
|
|
|
+ prev = hovered.previousElementSibling;
|
|
|
+ }
|
|
|
+ if (!next) {
|
|
|
+ next = ul.querySelector('li:first-child');
|
|
|
+ }
|
|
|
+ if(!prev) {
|
|
|
+ prev = ul.querySelector('li:last-child');
|
|
|
+ }
|
|
|
+
|
|
|
+ switch (keyCode) {
|
|
|
+ case 38: // 方向键:↑
|
|
|
+ prev.classList.add('x-hovered');
|
|
|
+ break;
|
|
|
+ case 40: // 方向键:↓
|
|
|
+ next.classList.add('x-hovered');
|
|
|
+ break;
|
|
|
+ case 13: // 回车键:选择
|
|
|
+ hovered.click();
|
|
|
+ }
|
|
|
+
|
|
|
+ }, false);
|
|
|
+ },
|
|
|
+
|
|
|
methods: {
|
|
|
|
|
|
runHelper: function (mType, useFile) {
|