events.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * DevExtreme (integration/jquery/events.js)
  3. * Version: 19.1.16
  4. * Build date: Tue Oct 18 2022
  5. *
  6. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  7. * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
  8. */
  9. "use strict";
  10. var jQuery = require("jquery");
  11. var eventsEngine = require("../../events/core/events_engine");
  12. var useJQuery = require("./use_jquery")();
  13. var registerEventCallbacks = require("../../events/core/event_registrator_callbacks");
  14. var domAdapter = require("../../core/dom_adapter");
  15. if (useJQuery) {
  16. registerEventCallbacks.add(function(name, eventObject) {
  17. jQuery.event.special[name] = eventObject
  18. });
  19. if (eventsEngine.passiveEventHandlersSupported()) {
  20. eventsEngine.forcePassiveFalseEventNames.forEach(function(eventName) {
  21. jQuery.event.special[eventName] = {
  22. setup: function(data, namespaces, handler) {
  23. domAdapter.listen(this, eventName, handler, {
  24. passive: false
  25. })
  26. }
  27. }
  28. })
  29. }
  30. eventsEngine.set({
  31. on: function(element) {
  32. jQuery(element).on.apply(jQuery(element), Array.prototype.slice.call(arguments, 1))
  33. },
  34. one: function(element) {
  35. jQuery(element).one.apply(jQuery(element), Array.prototype.slice.call(arguments, 1))
  36. },
  37. off: function(element) {
  38. jQuery(element).off.apply(jQuery(element), Array.prototype.slice.call(arguments, 1))
  39. },
  40. trigger: function(element) {
  41. jQuery(element).trigger.apply(jQuery(element), Array.prototype.slice.call(arguments, 1))
  42. },
  43. triggerHandler: function(element) {
  44. jQuery(element).triggerHandler.apply(jQuery(element), Array.prototype.slice.call(arguments, 1))
  45. },
  46. Event: jQuery.Event
  47. })
  48. }