app模板、应用模板、组件模板、widget模板
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
725 B

4 years ago
  1. 'use strict';
  2. exports.__esModule = true;
  3. var _dom = require('tis-ui/lib/utils/dom');
  4. exports.default = {
  5. bind: function bind(el, binding, vnode) {
  6. var interval = null;
  7. var startTime = void 0;
  8. var handler = function handler() {
  9. return vnode.context[binding.expression].apply();
  10. };
  11. var clear = function clear() {
  12. if (Date.now() - startTime < 100) {
  13. handler();
  14. }
  15. clearInterval(interval);
  16. interval = null;
  17. };
  18. (0, _dom.on)(el, 'mousedown', function (e) {
  19. if (e.button !== 0) return;
  20. startTime = Date.now();
  21. (0, _dom.once)(document, 'mouseup', clear);
  22. clearInterval(interval);
  23. interval = setInterval(handler, 100);
  24. });
  25. }
  26. };