如何使用键盘侦听器在调用时触发工具提示
How can I use a keyboard listener to trigger a tooltip when called?
我有一个简单的饼图。单击饼图楔形时,将显示该楔形的工具提示。
我正在尝试实现相同的功能,但在饼图之外的div 元素上。
场景:
-
专注于"Cat 1"div 并点击回车键的用户将显示 Cat 1 楔形的工具提示
-
专注于"Cat 2"div 并按回车键的用户将显示 Cat 2 楔形的工具提示
-
专注于"Cat 3"div 并按回车键的用户将显示 Cat 3 楔形的工具提示
我已经尝试了类似以下内容的内容:
function ShowTooltip() {
d3.selectAll('.nvtooltip').each(function(){
this.style.setProperty('display', 'block', 'important');
});
};
但是如果你在 plunkr 中看到,这不会触发任何东西。如何使这些潜水触发其相应的工具提示?
$(document).keydown(function(event) {
// Capture only if enter key is pressed and .myDiv has focus
if (event.keyCode === 13 && $('.cat-count').is(':focus')) {
console.log('do something');
ShowTooltip();
}
});
当我们单击按钮时,我们需要触发饼图部分的相应事件才能显示工具提示。
看看我的 Plunk:http://plnkr.co/edit/GP9h6eEe4DE8MM9jXolc?p=preview(使用按钮)http://plnkr.co/edit/MM5nvJ?p=preview(使用div 元素)
function TriggerEvent(eventName, pieSection, clientX, clientY) {
var event = document.createEvent("MouseEvent");
// possible values for eventName for our example are mouseover,mouseout
event.initMouseEvent(eventName, true, true, window, 0, 0, 0, clientX, clientY);
pieSection.dispatchEvent(event);
}
在按钮单击上调用上述函数:
TriggerEvent("mouseover", pieSection.node(), offset.left, offset.top);
keydown
事件的侦听器设置为所需的元素:
$('.myDiv').keydown(function(event) {
if (event.keyCode === 13) {
console.log('do something');
ShowTooltip();
}
});
或者,您使用您的方法并检查activeElement
是否是您想要的:
$(document).keydown(function(event) {
// Capture only if enter key is pressed and .myDiv has focus
if (event.keyCode === 13 && $(document.activeElement).is('.myDiv')) {
console.log('do something');
ShowTooltip();
}
});
编辑要显示工具箱,您需要操作隐藏工具箱元素的 CSS 属性。这些是:display: none;
和opacity: 0
。你可以用jQuery来做到这一点:
$('.toolbox').css('opacity', 1).css('display', 'block');
但是,我建议不要使用 jQuery 对 D3 工具箱进行这种操作。查看 D3 的文档,了解如何以编程方式显示工具箱。以下是 plunkr 中的更改: http://plnkr.co/edit/qNQfdpCMWXOypSqczXXi?p=preview
- d3.js Chord图的动态工具提示
- Graphiti中是否有任何工具提示功能
- "工具提示"jQuery插件坏了
- 单元格的工具提示或标题不显示超过2000个字符
- d3.js用按钮更新条形图工具提示
- 使Intro.js工具提示响应
- 画布中绘制的矩形区域的弹出工具提示
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- 如何在函数内部为jquery工具提示调用不同的var字符串
- D3-如何为工具提示调用数组
- “初始化前无法在工具提示上调用方法”错误,当我添加 jquery-ui 库时
- 在 WordPress 上调用 Javascript 响应式工具提示
- 使用引导工具提示进行 Ajax 调用
- 如何在MVC 4剃刀中动态调用图像上的工具提示
- Angular-bootstrap -反复调用带有bootstrap工具提示的$compile会导致运行缓慢
- 我可以使用javascript调用本地HTML5输入工具提示吗?
- 如果使用数据工具提示和标记中的HTML注释从Knockout自定义绑定调用Foundation Reflow,则会导致错
- 如何使用boost.js使HighCharts 4.2.5调用工具提示格式化程序
- 如何从配置对象外部调用Highcharts工具提示格式化程序函数
- 如何使用键盘侦听器在调用时触发工具提示