【发布时间】:2017-10-17 14:06:24
【问题描述】:
我有一个使用 d3 构建的交互式图表,我捕获了退格键以从图表中删除元素。但是,我在页面上也有一个文本框,我希望能够在打字时使用退格键。有没有办法在文本框中允许退格,或者只在图形的主 svg 中捕获它?
我的代码:
var BACKSPACE_KEY = 8;
d3.select(window).on("keydown", function() {
switch (d3.event.keyCode) {
case BACKSPACE_KEY:
// So that the browser doesn't go back
d3.event.preventDefault();
// Clean up my graph with the backspace key
// ...
}
})
演示问题的小提琴:https://jsfiddle.net/5pamrn3m/
【问题讨论】:
-
我在这里可能很愚蠢,但 not using preventDefault 似乎可以解决问题
-
@TKoL 是的,但是当事件发生在输入之外并且在某些浏览器中(直到最近在大多数浏览器中)退格将浏览器导航到上一页时,他想阻止默认。
-
我想我已经将网站设置为不让您离开而不保存,因此即使浏览器确实尝试将您送回,这也可能有效。但是,是的,Walk 关于它存在的原因是正确的
标签: javascript d3.js