gpt4 book ai didi

java - 如何防止浏览器响应滚动事件

转载 作者:行者123 更新时间:2023-11-29 18:32:03 30 4
gpt4 key购买 nike

我有一个显示交互式 map 的 Java 小程序。通过使用滚轮,用户可以放大/缩小 map 。不幸的是,Web 浏览器 (Firefox) 也响应滚动事件,小程序最终被滚动出可见页面。

我的问题是,当鼠标在小程序的边界内时,如何阻止浏览器响应?

到目前为止,我已尝试修改我的 HTML 以使小程序请求成为焦点

applet.focus()

我也试过像这样在我的 applet 的 Java 代码中添加一条语句

requestFocus();

但都没有解决问题。

我可以在小程序中添加一个特定的放大/缩小控件,或者可能重组我的网页以减少网页滚动的需要,但如果滚轮能够缩放 map 就更好了仅。

最佳答案

使用 javascript 并执行如下操作:

var applet = document.getElementById("appletID");
applet.mouseover = function(e) {
document.body.onscroll = function(e) {
e.preventDefault();
}
}

applet.mouseout = function(e) {
//replace with empty function
document.body.onscroll = function(e) { }
}

这不是未经测试的代码。可能是几个错别字

像我说的打字错误一样编辑...我测试了这个并且它肯定有效:

window.onload = function() {

var applet = document.getElementById("header");
applet.onmouseover = function(e) {
window.onscroll = function(e) {
//scroll where you want to be (the top)
scroll(0,0) ;
}
}

applet.onmouseout = function(e) {
//replace with empty function
window.onscroll = function(e) {}
}

};

使用 scroll 方法不是很干净,但是 preventDefault 似乎不起作用...

关于java - 如何防止浏览器响应滚动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7119060/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com