Download Fore_End/cpcn2/node_modules/element-ui/lib/utils/clickoutside.js from zxy0307/JavaWeb: direct link, hf CLI and curl.
- Browser
- Download file 2.31 kB
-
https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/element-ui/lib/utils/clickoutside.js
- Command line
-
hf download hf://zxy0307/JavaWeb/Fore_End/cpcn2/node_modules/element-ui/lib/utils/clickoutside.js
-
curl -L -o clickoutside.js https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/element-ui/lib/utils/clickoutside.js
2.31 kB
| ; | |
| exports.__esModule = true; | |
| var _vue = require('vue'); | |
| var _vue2 = _interopRequireDefault(_vue); | |
| var _dom = require('element-ui/lib/utils/dom'); | |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | |
| var nodeList = []; | |
| var ctx = '@@clickoutsideContext'; | |
| var startClick = void 0; | |
| var seed = 0; | |
| !_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) { | |
| return startClick = e; | |
| }); | |
| !_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mouseup', function (e) { | |
| nodeList.forEach(function (node) { | |
| return node[ctx].documentHandler(e, startClick); | |
| }); | |
| }); | |
| function createDocumentHandler(el, binding, vnode) { | |
| return function () { | |
| var mouseup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | |
| var mousedown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | |
| if (!vnode || !vnode.context || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target || vnode.context.popperElm && (vnode.context.popperElm.contains(mouseup.target) || vnode.context.popperElm.contains(mousedown.target))) return; | |
| if (binding.expression && el[ctx].methodName && vnode.context[el[ctx].methodName]) { | |
| vnode.context[el[ctx].methodName](); | |
| } else { | |
| el[ctx].bindingFn && el[ctx].bindingFn(); | |
| } | |
| }; | |
| } | |
| /** | |
| * v-clickoutside | |
| * @desc 点击元素外面才会触发的事件 | |
| * @example | |
| * ```vue | |
| * <div v-element-clickoutside="handleClose"> | |
| * ``` | |
| */ | |
| exports.default = { | |
| bind: function bind(el, binding, vnode) { | |
| nodeList.push(el); | |
| var id = seed++; | |
| el[ctx] = { | |
| id: id, | |
| documentHandler: createDocumentHandler(el, binding, vnode), | |
| methodName: binding.expression, | |
| bindingFn: binding.value | |
| }; | |
| }, | |
| update: function update(el, binding, vnode) { | |
| el[ctx].documentHandler = createDocumentHandler(el, binding, vnode); | |
| el[ctx].methodName = binding.expression; | |
| el[ctx].bindingFn = binding.value; | |
| }, | |
| unbind: function unbind(el) { | |
| var len = nodeList.length; | |
| for (var i = 0; i < len; i++) { | |
| if (nodeList[i][ctx].id === el[ctx].id) { | |
| nodeList.splice(i, 1); | |
| break; | |
| } | |
| } | |
| delete el[ctx]; | |
| } | |
| }; |