diff --git a/src/main/frontend/components/content.cljs b/src/main/frontend/components/content.cljs index a423f709f5..5162e12fef 100644 --- a/src/main/frontend/components/content.cljs +++ b/src/main/frontend/components/content.cljs @@ -271,24 +271,26 @@ (do (util/stop e) (let [client-x (gobj/get e "clientX") - client-y (gobj/get e "clientY")] + client-y (gobj/get e "clientY") + scroll-y (util/cur-doc-top)] (state/show-custom-context-menu! (block-context-menu-content target (cljs.core/uuid block-id))) (when-let [context-menu (d/by-id "custom-context-menu")] (d/set-style! context-menu :left (str client-x "px") - :top (str client-y "px"))))) + :top (str (+ scroll-y client-y) "px"))))) (and (state/in-selection-mode?) (seq (state/get-selection-blocks))) (do (util/stop e) (let [client-x (gobj/get e "clientX") - client-y (gobj/get e "clientY")] + client-y (gobj/get e "clientY") + scroll-y (util/cur-doc-top)] (state/show-custom-context-menu! (custom-context-menu-content)) (when-let [context-menu (d/by-id "custom-context-menu")] (d/set-style! context-menu :left (str client-x "px") - :top (str client-y "px"))))) + :top (str (+ scroll-y client-y) "px"))))) :else nil)))))) diff --git a/src/main/frontend/util.cljs b/src/main/frontend/util.cljs index f390f17430..4a5f8cfb75 100644 --- a/src/main/frontend/util.cljs +++ b/src/main/frontend/util.cljs @@ -311,7 +311,7 @@ (def moving-frequency 15) (defn cur-doc-top [] - (+ (.. js/document -body -scrollTop) (.. js/document -documentElement -scrollTop))) + (.. js/document -documentElement -scrollTop)) (defn element-top [elem top] (when elem