How to restore default scrolling behaviour on arcGIS?
I have one issue using a map with arcGIS API:
When the mouse pointer is above the map, default page scrolling is blocked. I know that I can suppress map zooming on scroll with stopPropagation() on mouse-wheel event, but that leads only to disabling zoom. The page still does not move on scroll...
That causes bad user experience, especially when using large / full-screen maps inside a page.
Any idea?
javascript scroll mousewheel arcgis-js-api stoppropagation
add a comment |
I have one issue using a map with arcGIS API:
When the mouse pointer is above the map, default page scrolling is blocked. I know that I can suppress map zooming on scroll with stopPropagation() on mouse-wheel event, but that leads only to disabling zoom. The page still does not move on scroll...
That causes bad user experience, especially when using large / full-screen maps inside a page.
Any idea?
javascript scroll mousewheel arcgis-js-api stoppropagation
add a comment |
I have one issue using a map with arcGIS API:
When the mouse pointer is above the map, default page scrolling is blocked. I know that I can suppress map zooming on scroll with stopPropagation() on mouse-wheel event, but that leads only to disabling zoom. The page still does not move on scroll...
That causes bad user experience, especially when using large / full-screen maps inside a page.
Any idea?
javascript scroll mousewheel arcgis-js-api stoppropagation
I have one issue using a map with arcGIS API:
When the mouse pointer is above the map, default page scrolling is blocked. I know that I can suppress map zooming on scroll with stopPropagation() on mouse-wheel event, but that leads only to disabling zoom. The page still does not move on scroll...
That causes bad user experience, especially when using large / full-screen maps inside a page.
Any idea?
javascript scroll mousewheel arcgis-js-api stoppropagation
javascript scroll mousewheel arcgis-js-api stoppropagation
asked Nov 21 '18 at 15:04
JörgJörg
82
82
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Disabling scroll-zooming on the view using code below (like the esri demo here) does not prevent the DOM element wheel
event to be triggered which prevent the default page scrolling;
//this prevent the mapView to zoom on wheel but does not make the page to scroll as wanted
view.on("mouse-wheel", function(event) {
// disable mouse wheel scroll zooming on the view
event.stopPropagation();
});
So what you need to do, is to add a wheel event listener on the DOM element that handle the esri wheel event and then do a event.stopImmediatePropagation()
so the esri wheel event that cancel the default page scrolling would not be triggered.
With the API v.4.9 the DOM element that you have to use have the esri-view-surface
class
var viewSurfaceElem = document.getElementsByClassName("esri-view-surface")[0];
viewSurfaceElem.addEventListener("wheel", function(event) { event.stopImmediatePropagation(); });
See live demo here: https://codepen.io/anon/pen/bQLwwm
That´s it. Thanks a lot!
– Jörg
Nov 23 '18 at 7:13
Thank you for your answer. That worked well. Now I have another similar problem: Since I am only able to embed a client´s app via iFrame, there is the same scrollling issue. I could check the '✓ Prevent map scroll' option in the settings, but the page still stops scrolling when the mouse cursor is above the map. Since the iframe is embedded in full screen size, it block page scrolling completely. Any idea how to solve this? Thanks for your help.
– Jörg
Feb 2 at 15:47
I am not sure to understand the question, can you provide a demo of the problem? From what I understand, won't you just have to addoverflow-y: auto;
to the iframe css?
– Below the Radar
Feb 4 at 12:42
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53414904%2fhow-to-restore-default-scrolling-behaviour-on-arcgis%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Disabling scroll-zooming on the view using code below (like the esri demo here) does not prevent the DOM element wheel
event to be triggered which prevent the default page scrolling;
//this prevent the mapView to zoom on wheel but does not make the page to scroll as wanted
view.on("mouse-wheel", function(event) {
// disable mouse wheel scroll zooming on the view
event.stopPropagation();
});
So what you need to do, is to add a wheel event listener on the DOM element that handle the esri wheel event and then do a event.stopImmediatePropagation()
so the esri wheel event that cancel the default page scrolling would not be triggered.
With the API v.4.9 the DOM element that you have to use have the esri-view-surface
class
var viewSurfaceElem = document.getElementsByClassName("esri-view-surface")[0];
viewSurfaceElem.addEventListener("wheel", function(event) { event.stopImmediatePropagation(); });
See live demo here: https://codepen.io/anon/pen/bQLwwm
That´s it. Thanks a lot!
– Jörg
Nov 23 '18 at 7:13
Thank you for your answer. That worked well. Now I have another similar problem: Since I am only able to embed a client´s app via iFrame, there is the same scrollling issue. I could check the '✓ Prevent map scroll' option in the settings, but the page still stops scrolling when the mouse cursor is above the map. Since the iframe is embedded in full screen size, it block page scrolling completely. Any idea how to solve this? Thanks for your help.
– Jörg
Feb 2 at 15:47
I am not sure to understand the question, can you provide a demo of the problem? From what I understand, won't you just have to addoverflow-y: auto;
to the iframe css?
– Below the Radar
Feb 4 at 12:42
add a comment |
Disabling scroll-zooming on the view using code below (like the esri demo here) does not prevent the DOM element wheel
event to be triggered which prevent the default page scrolling;
//this prevent the mapView to zoom on wheel but does not make the page to scroll as wanted
view.on("mouse-wheel", function(event) {
// disable mouse wheel scroll zooming on the view
event.stopPropagation();
});
So what you need to do, is to add a wheel event listener on the DOM element that handle the esri wheel event and then do a event.stopImmediatePropagation()
so the esri wheel event that cancel the default page scrolling would not be triggered.
With the API v.4.9 the DOM element that you have to use have the esri-view-surface
class
var viewSurfaceElem = document.getElementsByClassName("esri-view-surface")[0];
viewSurfaceElem.addEventListener("wheel", function(event) { event.stopImmediatePropagation(); });
See live demo here: https://codepen.io/anon/pen/bQLwwm
That´s it. Thanks a lot!
– Jörg
Nov 23 '18 at 7:13
Thank you for your answer. That worked well. Now I have another similar problem: Since I am only able to embed a client´s app via iFrame, there is the same scrollling issue. I could check the '✓ Prevent map scroll' option in the settings, but the page still stops scrolling when the mouse cursor is above the map. Since the iframe is embedded in full screen size, it block page scrolling completely. Any idea how to solve this? Thanks for your help.
– Jörg
Feb 2 at 15:47
I am not sure to understand the question, can you provide a demo of the problem? From what I understand, won't you just have to addoverflow-y: auto;
to the iframe css?
– Below the Radar
Feb 4 at 12:42
add a comment |
Disabling scroll-zooming on the view using code below (like the esri demo here) does not prevent the DOM element wheel
event to be triggered which prevent the default page scrolling;
//this prevent the mapView to zoom on wheel but does not make the page to scroll as wanted
view.on("mouse-wheel", function(event) {
// disable mouse wheel scroll zooming on the view
event.stopPropagation();
});
So what you need to do, is to add a wheel event listener on the DOM element that handle the esri wheel event and then do a event.stopImmediatePropagation()
so the esri wheel event that cancel the default page scrolling would not be triggered.
With the API v.4.9 the DOM element that you have to use have the esri-view-surface
class
var viewSurfaceElem = document.getElementsByClassName("esri-view-surface")[0];
viewSurfaceElem.addEventListener("wheel", function(event) { event.stopImmediatePropagation(); });
See live demo here: https://codepen.io/anon/pen/bQLwwm
Disabling scroll-zooming on the view using code below (like the esri demo here) does not prevent the DOM element wheel
event to be triggered which prevent the default page scrolling;
//this prevent the mapView to zoom on wheel but does not make the page to scroll as wanted
view.on("mouse-wheel", function(event) {
// disable mouse wheel scroll zooming on the view
event.stopPropagation();
});
So what you need to do, is to add a wheel event listener on the DOM element that handle the esri wheel event and then do a event.stopImmediatePropagation()
so the esri wheel event that cancel the default page scrolling would not be triggered.
With the API v.4.9 the DOM element that you have to use have the esri-view-surface
class
var viewSurfaceElem = document.getElementsByClassName("esri-view-surface")[0];
viewSurfaceElem.addEventListener("wheel", function(event) { event.stopImmediatePropagation(); });
See live demo here: https://codepen.io/anon/pen/bQLwwm
edited Nov 22 '18 at 14:58
answered Nov 21 '18 at 16:03


Below the RadarBelow the Radar
3,24453387
3,24453387
That´s it. Thanks a lot!
– Jörg
Nov 23 '18 at 7:13
Thank you for your answer. That worked well. Now I have another similar problem: Since I am only able to embed a client´s app via iFrame, there is the same scrollling issue. I could check the '✓ Prevent map scroll' option in the settings, but the page still stops scrolling when the mouse cursor is above the map. Since the iframe is embedded in full screen size, it block page scrolling completely. Any idea how to solve this? Thanks for your help.
– Jörg
Feb 2 at 15:47
I am not sure to understand the question, can you provide a demo of the problem? From what I understand, won't you just have to addoverflow-y: auto;
to the iframe css?
– Below the Radar
Feb 4 at 12:42
add a comment |
That´s it. Thanks a lot!
– Jörg
Nov 23 '18 at 7:13
Thank you for your answer. That worked well. Now I have another similar problem: Since I am only able to embed a client´s app via iFrame, there is the same scrollling issue. I could check the '✓ Prevent map scroll' option in the settings, but the page still stops scrolling when the mouse cursor is above the map. Since the iframe is embedded in full screen size, it block page scrolling completely. Any idea how to solve this? Thanks for your help.
– Jörg
Feb 2 at 15:47
I am not sure to understand the question, can you provide a demo of the problem? From what I understand, won't you just have to addoverflow-y: auto;
to the iframe css?
– Below the Radar
Feb 4 at 12:42
That´s it. Thanks a lot!
– Jörg
Nov 23 '18 at 7:13
That´s it. Thanks a lot!
– Jörg
Nov 23 '18 at 7:13
Thank you for your answer. That worked well. Now I have another similar problem: Since I am only able to embed a client´s app via iFrame, there is the same scrollling issue. I could check the '✓ Prevent map scroll' option in the settings, but the page still stops scrolling when the mouse cursor is above the map. Since the iframe is embedded in full screen size, it block page scrolling completely. Any idea how to solve this? Thanks for your help.
– Jörg
Feb 2 at 15:47
Thank you for your answer. That worked well. Now I have another similar problem: Since I am only able to embed a client´s app via iFrame, there is the same scrollling issue. I could check the '✓ Prevent map scroll' option in the settings, but the page still stops scrolling when the mouse cursor is above the map. Since the iframe is embedded in full screen size, it block page scrolling completely. Any idea how to solve this? Thanks for your help.
– Jörg
Feb 2 at 15:47
I am not sure to understand the question, can you provide a demo of the problem? From what I understand, won't you just have to add
overflow-y: auto;
to the iframe css?– Below the Radar
Feb 4 at 12:42
I am not sure to understand the question, can you provide a demo of the problem? From what I understand, won't you just have to add
overflow-y: auto;
to the iframe css?– Below the Radar
Feb 4 at 12:42
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53414904%2fhow-to-restore-default-scrolling-behaviour-on-arcgis%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown