最近因为项目需要又写回了老本行,这次是要加入百度地图的功能,我想有些人应该会遇到我题目的情况,明明在js里面已经加了enableScrollWheelZoom(),刚加载完地图的时候用滚轮是没问题的,但是一旦用PanTo跳转到某个位置之后,会出现滚轮放大缩小失效的情况,再跳转一次,又可以了,大家应该一开始和我想的都一样吧:失去焦点。没错,答案就是失去了焦点,但是,你加入Webbrowser.Focus()并不会改变什么,原因就是失去焦点的,是Webbrowser.Document,恕我愚昧,我也是第一次知道Document也能获得焦点,总之在跳转之后加入Webbrowser.Document.Focus()之后,就可以正常使用滚轮放大缩小了。
我也是在百度地图的贴吧中找到答案的,在此贴上地址:http://tieba.baidu.com/p/4441795046(本文仅作为个人笔记使用,如果作者觉得不允许,我会及时删除或者设置下自己可见,还请原谅)。
得到的经验不仅如此,我还发现原来Webbrowser.Document居然也能添加监听事件!关于鼠标的操作都能监听,这也是上面贴吧链接中的一位层主提到的,非常感谢,我根据自己需要监听了MouseMove的事件:
this.webBrowser1.Document.MouseMove += new HtmlElementEventHandler(mouseclick);
mouseclick事件如下:
private void mouseclick(object sender, HtmlElementEventArgs e)
{
try { webBrowser1.Document.Focus(); }catch { }
}
这样就不需要每段涉及跳转的代码后面都要加上焦点获取的代码了,总之非常感谢链接中的两位。