瀏覽代碼

ClickOutside: fix 'Cannot read property target of undefined'

Leopoldthecoder 8 年之前
父節點
當前提交
45628ecbf3
共有 4 個文件被更改,包括 6 次插入4 次删除
  1. 3 1
      src/utils/clickoutside.js
  2. 1 1
      test/unit/specs/dropdown.spec.js
  3. 1 1
      test/unit/specs/form.spec.js
  4. 1 1
      test/unit/specs/menu.spec.js

+ 3 - 1
src/utils/clickoutside.js

@@ -22,8 +22,10 @@ let startClick;
 export default {
   bind(el, binding, vnode) {
     const id = nodeList.push(el) - 1;
-    const documentHandler = function(mouseup, mousedown) {
+    const documentHandler = function(mouseup = {}, mousedown = {}) {
       if (!vnode.context ||
+        !mouseup.target ||
+        !mousedown.target ||
         el.contains(mouseup.target) ||
         (vnode.context.popperElm &&
         (vnode.context.popperElm.contains(mouseup.target) ||

+ 1 - 1
test/unit/specs/dropdown.spec.js

@@ -146,7 +146,7 @@ describe('Dropdown', () => {
         done();
       }, 300);
     }, 300);
-  });
+  }).timeout(3000);
   it('hide on click', done => {
     vm = createVue({
       template: `

+ 1 - 1
test/unit/specs/form.spec.js

@@ -357,7 +357,7 @@ describe('Form', () => {
           }, 100);
         }, 100);
       });
-    });
+    }).timeout(3000);
     it('datepicker', done => {
       vm = createVue({
         template: `

+ 1 - 1
test/unit/specs/menu.spec.js

@@ -293,7 +293,7 @@ describe('Menu', () => {
         done();
       }, 1000);
     }, 500);
-  });
+  }).timeout(3000);
   it('menu trigger click', done => {
     vm = createVue({
       template: `