Javascript 向传单js Choropleth贴图添加键盘控件
我有一张传单.js choropleth地图,几乎和教程地图完全一样 我想能够通过标签通过地图,并有州的信息显示出来 我尝试过用隐藏链接和层触发来伪装它,但没有成功Javascript 向传单js Choropleth贴图添加键盘控件,javascript,accessibility,leaflet,Javascript,Accessibility,Leaflet,我有一张传单.js choropleth地图,几乎和教程地图完全一样 我想能够通过标签通过地图,并有州的信息显示出来 我尝试过用隐藏链接和层触发来伪装它,但没有成功 你知道最好的方法是什么吗?有了这段代码,我可以在这个页面上模拟鼠标指针(假设变量“p”是表示状态的路径元素之一) 这是您的代码还是必须将其覆盖在现有代码之上?其数据不同,但实现方式与示例完全相同。我已经使用隐藏链接触发假鼠标事件来突出显示图形元素,所以这是可能的,你将不得不张贴你的代码的地方,我来帮助。在可用性方面,当您有大量这样
你知道最好的方法是什么吗?有了这段代码,我可以在这个页面上模拟鼠标指针(假设变量“p”是表示状态的路径元素之一)
这是您的代码还是必须将其覆盖在现有代码之上?其数据不同,但实现方式与示例完全相同。我已经使用隐藏链接触发假鼠标事件来突出显示图形元素,所以这是可能的,你将不得不张贴你的代码的地方,我来帮助。在可用性方面,当您有大量这样的项目时,用户很难导航到他们对使用键盘感兴趣的状态。因此,另一种UI方法(如选择下拉菜单)可能更有用,其中第一个字符可用于移动到状态。
getScrollOffset = function (element) {
if (!element.nodeType && element.document) {
element = element.document;
}
if (element.nodeType === 9) {
var docElement = element.documentElement,
body = element.body;
return {
left: (docElement && docElement.scrollLeft || body && body.scrollLeft || 0),
top: (docElement && docElement.scrollTop || body && body.scrollTop || 0)
};
}
return {
left: element.scrollLeft,
top: element.scrollTop
};
};
getElementCoordinates = function (element) {
var doc = element.ownerDocument,
scrollOffset = getScrollOffset(doc),
xOffset = scrollOffset.left,
yOffset = scrollOffset.top,
coords = element.getBoundingClientRect();
return {
top: coords.top + yOffset,
right: coords.right + xOffset,
bottom: coords.bottom + yOffset,
left: coords.left + xOffset,
width: coords.right - coords.left,
height: coords.bottom - coords.top
};
};
var p = document.getElementsByTagName('path')[50];
var coords = getElementCoordinates(p);
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("mouseover", true, true, window,
0, coords.left/* screenX */, coords.top/* screen Y */, 0 /* clientX */, 0/* clientY */, false, false, false, false, 0, document.body);
p.dispatchEvent(evt);