Skip to content

Commit feed67a

Browse files
authored
fix(popup): pre-existing popup positioning inside tables
Behaviour of jQuery.position has issue from jQuery v3.3.0. This PR updated positioning logic to work regardless of jQuery versions.
1 parent 8193091 commit feed67a

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/definitions/modules/popup.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -510,9 +510,10 @@ $.fn.popup = function(parameters) {
510510
$popupOffsetParent = module.get.offsetParent($popup),
511511
targetElement = $target[0],
512512
isWindow = ($boundary[0] == window),
513-
targetPosition = (settings.inline || (settings.popup && settings.movePopup))
514-
? $target.position()
515-
: $target.offset(),
513+
targetOffset = $target.offset(),
514+
parentOffset = settings.inline || (settings.popup && settings.movePopup)
515+
? $target.offsetParent().offset()
516+
: { top: 0, left: 0 },
516517
screenPosition = (isWindow)
517518
? { top: 0, left: 0 }
518519
: $boundary.offset(),
@@ -528,8 +529,8 @@ $.fn.popup = function(parameters) {
528529
element : $target[0],
529530
width : $target.outerWidth(),
530531
height : $target.outerHeight(),
531-
top : targetPosition.top,
532-
left : targetPosition.left,
532+
top : targetOffset.top - parentOffset.top,
533+
left : targetOffset.left - parentOffset.left,
533534
margin : {}
534535
},
535536
// popup itself

0 commit comments

Comments
 (0)