jquery.ui.position-1.13.0-backport.js 935 B

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * Backport of security fix from:
  3. * https://github.com/jquery/jquery-ui/pull/1955/files
  4. */
  5. (function ($) {
  6. // No backport is needed if we're already on jQuery UI 1.13 or higher.
  7. var versionParts = $.ui.version.split('.');
  8. var majorVersion = parseInt(versionParts[0]);
  9. var minorVersion = parseInt(versionParts[1]);
  10. if ( (majorVersion > 1) || (majorVersion === 1 && minorVersion >= 13) ) {
  11. return;
  12. }
  13. var fnOriginalPosition = $.fn.position;
  14. $.fn.extend({
  15. 'position': function (options) {
  16. if (typeof options === 'undefined') {
  17. return fnOriginalPosition.call(this);
  18. }
  19. // Make sure string options are treated as CSS selectors
  20. var target = typeof options.of === "string" ?
  21. $(document).find(options.of) :
  22. $(options.of);
  23. options.of = (target[0] === undefined) ? null : target;
  24. return fnOriginalPosition.call(this, options);
  25. }
  26. });
  27. })(jQuery);