【发布时间】:2014-06-28 22:30:33
【问题描述】:
我有一些单选按钮;单击按钮时会发生一些动作。如何实现模拟点击事件的代码并检测“点击”是由模拟还是用户引起的?
chkBxB12 = querySelector('#B12');
chkBxB12.onClick.listen(chkBxB12Clicked);
void chkBxB12Clicked(Event e) {
// do something
// if mouse click or tap then
// do some-additional-thing
}
foo() {
chkBxB12.click()
{
[编辑]
我修改了 JAre 的示例以更好地满足我的需要(并将处理我的四个单选按钮的 8 种方法减少到两个 - Robert 的示例让我想起了这种需要)。这是修改后的代码,可以确定目标按钮是否被软件硬件点击(或轻敲)以及按钮的标识。
import 'dart:html';
void main() {
querySelectorAll('input[type="radio"]').onClick.listen(foo);
foo(new MouseEvent("synthetic")); // parameter is
}
void foo(MouseEvent event) {
if (event.target is Element){
Element target = event.target;
if(target.id == 'radio1')
print('${event.type} target ${target.id}');
else if(target.id == 'radio2')
print('${event.type} target ${target.id}');
}
else {
if(event.type == "synthetic") print(event.type);
else print("It didn't work!");
}
}
输出如预期:
synthetic
click target radio1
click target radio2
【问题讨论】:
标签: event-handling dart