D3js,在 selectAll('rect') 中选择 rect 时未捕获的引用错误
D3js, uncaught reference error when selecting rect in selectAll('rect')
我正在使用D3制作图表。我希望用户能够通过调整单柱形水平柱形图上的堆叠条形的大小来输入他们的选择。
条形是堆叠的,每个条形都有 .call(drag) 事件侦听器。
此拖动事件返回错误。
var drag = d3.behavior.drag()
.on('drag', function() {
var i = state.interactingWith //i represents current element
var rects = d3.select('.svg').selectAll('.bar') //Get all stacked bars
var handles = d3.select('.svg').selectAll('.handle') //Get all event handlers, on the edges of bars
var currentX = d3.select(rects[0][i]).attr('x')
d3.select(rects[0][i])
.attr('width', d3.event.x - currentX)
d3.select(handles[0][i])
.attr('cx', d3.event.x)
if (i < rects[0].length-1){
var j = i+1 //I want to select the next element, but not if this element is the last
var currentNextWidth = d3.select(rects[0][j]).attr('width') //This returns the error
var newNextWidth = currentRightWidth + (+d3.event.x - currentX)
d3.select(rects[0][j])
.attr('x', d3.event.x)
d3.select(rects[0][j])
.attr('width', newRightWidth)
questions[i].displayWidth = newRightWidth
}
})
控制台 说:
Uncaught TypeError: Cannot read property 'getAttribute' of null .... d3.min.js:3
它说违规线是var currentNextWidth ....
如果我用所需的索引替换 j,它会按预期工作。有人对这里发生的事情有任何想法吗?
你还没有提到变量状态和状态.interactingWith是如何获得的。尝试在违规行放置一个调试点,并在控制台中记录 j, rect[0][j] 以检查这些在当前范围内是否可用。
好的,所以state.interactWith
是一个字符串。
我没有意识到i
是一根绳子,因为它本身工作正常。 不过i + 1
玩起来了。
我认为发生的事情是i
(字符串)可以像array['1']
一样工作,但i + 1
可以像array['11']
一样工作。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- D3js,在 selectAll('rect') 中选择 rect 时未捕获的引用错误
- Rect.map():文档是否错误
- svg>并且<rect>谷歌折线图中的内联样式错误
- 条形图D3.js错误:<rect>属性
- 缩放d3's直方图x域导致“;<的负值无效;rect>属性“;错误