我的代碼很簡單,但行print("checky changed")
未運行。因爲在註冊onChange
聽衆後,當複選框的選中狀態發生變化時,應該打印一條消息,我將更改複選框的選中狀態兩次:第一次直接,然後在Timer
之後三秒鐘執行,每隔時間與不同的價值觀。CheckboxInputElement.onChange事件未觸發
如果手動選中或取消選中該複選框,將打印該信息。
我真的需要幫助解決這個問題:當checky.checked
的值以編程方式更改時,爲什麼"checky changed"
從不打印?
我有這樣的HTML代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Test</title>
<script async type="application/dart" src="script.dart"></script>
<script async src="packages/browser/dart.js"></script>
</head>
<body>
<h1>Test</h1>
<input type="checkbox" id="checky">
</body>
</html>
這飛鏢代碼:
import 'dart:html';
import 'dart:async';
void main() {
CheckboxInputElement checky = querySelector('#checky');
checky..checked = true
..onChange.listen((_) {
print("checky changed");
});
checky.checked = false;
new Timer(const Duration(seconds: 3),() {
checky.checked = true;
});
}
非常感謝你對任何形式的幫助!
但我想它以編程火(像它的時候我手動選中或清除鼠標複選框)。 – silviubogan