ClickRepeater.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * @Description: numberField 清除按钮点击重复调用的bug
  3. * @Author: hy
  4. * @Date: 2019-08-12 18:31:11
  5. * @LastEditTime: 2019-08-12 18:40:58
  6. */
  7. Ext.define('Ext.overrides.util.ClickRepeater', {
  8. override: 'Ext.util.ClickRepeater',
  9. privates: {
  10. handleMouseDown: function(e) {
  11. var me = this,
  12. el = me.getEl();
  13. Ext.undefer(me.timer);
  14. if (me.pressedCls) {
  15. el.addCls(me.pressedCls);
  16. }
  17. me.mousedownTime = Ext.now();
  18. if (e.pointerType === 'mouse') {
  19. el.on("mouseout", me.handleMouseOut, me);
  20. }
  21. Ext.getDoc().on("mouseup", me.handleMouseUp, me);
  22. me.fireEvent("mousedown", me, e);
  23. me.fireClick(e);
  24. // Do not honor delay or interval if acceleration wanted.
  25. if (me.accelerate) {
  26. me.delay = 400;
  27. }
  28. //numberField 清除按钮点击重复调用的bug
  29. if(me.getEl().dom.id.indexOf('menuNumberField')<0){
  30. me.timer = Ext.defer(me.click, me.delay || me.interval, me, [
  31. e
  32. ]);
  33. }
  34. if (me.mousedownPreventDefault) {
  35. e.preventDefault();
  36. }
  37. if (me.mousedownStopEvent) {
  38. e.stopEvent();
  39. }
  40. }
  41. }
  42. });