vue-directive.js 720 B

12345678910111213141516171819202122232425262728293031
  1. "use strict";
  2. import Vue from 'vue'
  3. import ripple from '../until/ripple.js'
  4. import {message} from '../until/message.js'
  5. import {copyText, isMobile} from "../until";
  6. function copyBind(el, binding) {
  7. el.addEventListener("click", function () {
  8. copyText(binding.value, () => message.success("复制成功"), tip => message.success(tip));
  9. });
  10. }
  11. // 添加一个自定义指令`v-copy`点击复制内容
  12. Vue.directive("copy", {
  13. inserted: copyBind,
  14. });
  15. Vue.directive("ripple", {
  16. inserted(el) {
  17. /** 添加事件类型 */
  18. const eventType = isMobile() ? "touchstart" : "mousedown";
  19. el.setAttribute("ripple", "");
  20. el.addEventListener(eventType, function (e) {
  21. ripple(e, el);
  22. });
  23. }
  24. });