gpt4 book ai didi

dart - Dart 拖放div

转载 作者:行者123 更新时间:2023-12-03 03:29:23 26 4
gpt4 key购买 nike

我正在拖放div,我有以下代码:

 void init() {


...
baseWindowTitleDiv.on.mouseDown.add((MouseEvent event) => saveWindowXY(event));
baseWindowTitleDiv.on.mouseUp.add((MouseEvent event) => stopMoveEvent(event));
...
}
void saveWindowXY(MouseEvent event) {
...

document.on.mouseMove.add((MouseEvent event) => runMoveEvent(event));

}

void stopMoveEvent(MouseEvent event) {
print('stopMoveEvent call');
document.on.mouseMove.remove((MouseEvent event) => runMoveEvent(event));//does not work!
}

void runMoveEvent(MouseEvent event) {
...
}

我不明白如何从document.on.mouseMove中删除侦听器

完整代码在这里- https://gist.github.com/OZKA/5795352

最佳答案

据我所知,您需要拥有添加事件的句柄,然后使用该句柄将其删除,例如:

var myEvent = (MouseEvent event) => runMoveEvent(event); // store the function in a variable.

void init() {
document.on.mouseMove.add(myEvent); // refer to the function by name
}


void stopMoveEvent(MouseEvent event) {
document.on.mouseMove.remove(myEvent); // remove the same function.
}

void runMoveEvent(event) { ... }

您在代码中所做的就是添加一个匿名函数,并删除另一个匿名函数。我认为 http://dartbug.com/144(标记为WontFix)可能提供了更多有关为何无效的详细信息。

关于dart - Dart 拖放div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17142887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com