Dartpad html - 如何删除 re-运行 上的事件侦听器?
Dartpad html - how to remove event listeners on re-run?
在带有 html (https://dartpad.dev/html) 的 Dartpad 中,我正在试验以下代码片段:
import 'dart:html';
void main() {
final header = querySelector('#header');
header?.text = "Hello, World!";
var streamobject = document.onSelectionChange.listen(handleSelectionChange);
// streamobject.cancel() when re-run
}
void handleSelectionChange(Event e) {
// do sth with range
}
但是,当我再次 运行 这段代码片段时,来自前一个 运行 的事件侦听器并没有分离。不幸的是,似乎无法访问 Dartpad 中的 运行 按钮并执行如下操作:
ButtonElement btn = querySelector('#run-button');
btn.onClick.listen((event) => streamobject.cancel());
有没有办法在 dartpad 中重新执行时从文档中删除所有事件侦听器?
页面刷新清理缓存完成工作(Cmd+Shift+R on Mac,或 Ctrl+F5 在 Windows).
在带有 html (https://dartpad.dev/html) 的 Dartpad 中,我正在试验以下代码片段:
import 'dart:html';
void main() {
final header = querySelector('#header');
header?.text = "Hello, World!";
var streamobject = document.onSelectionChange.listen(handleSelectionChange);
// streamobject.cancel() when re-run
}
void handleSelectionChange(Event e) {
// do sth with range
}
但是,当我再次 运行 这段代码片段时,来自前一个 运行 的事件侦听器并没有分离。不幸的是,似乎无法访问 Dartpad 中的 运行 按钮并执行如下操作:
ButtonElement btn = querySelector('#run-button');
btn.onClick.listen((event) => streamobject.cancel());
有没有办法在 dartpad 中重新执行时从文档中删除所有事件侦听器?
页面刷新清理缓存完成工作(Cmd+Shift+R on Mac,或 Ctrl+F5 在 Windows).