我正在想象一个聊天对话,我在每个消息中附加一个表示消息长度的栏。界面的另一部分用于显示聊天中每个用户的统计信息。
目标:当用户将鼠标悬停在栏上时
所以我想做两个鼠标悬停事件,一个用于突出显示条,另一个用于更改显示,但似乎每个元素只能附加一个鼠标悬停事件。我怎么会把这两件事都解雇?
// add highlighting event to each rectangle
rects.on('mouseover', function(thisData) {
rects.filter(function(d) { return d['userId'] === thisData['userId']; })
.style('fill', users[thisData['userId']]['color']);
});
// further down...
// change display when highlighting a rectangle
rects.on('mouseover', function(thisData) {
display.text(thisData['message']); // just example code
});
答案 0 :(得分:0)
您可以创建2个函数并在鼠标悬停事件中调用它们
rects.on('mouseover', function (thisData) {
dosomething();
dosomethingelse();
});
//define dosomething and dosomethingelse
function dosomething($var) {
//sample code
}
function dosomethingelse() {
}
答案 1 :(得分:-1)
只需在一个鼠标悬停处理程序中执行所有逻辑。
rects.on('mouseover', function(thisData) {
rects.filter(function(d) { return d['userId'] === thisData['userId']; })
.style('fill', users[thisData['userId']]['color']);
display.text(thisData['message']);
});