- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的程序中,我在HTML表格内生成按钮,每个按钮都定义了相同的onClick.listen侦听器。
在侦听器中,MouseEvent event.toElement为null。
该表是用HTML预先创建的,但是表行,行单元格和单元格中的按钮都是用dart生成的。
为什么event.toElement可以为null?
如果我尝试一个干净的示例应用程序(dart编辑器中的新Web应用程序)并创建一个按钮,请将其添加到div中,则event.toElement不为null。
所以我有一个普遍的问题:当监听按钮的onClick事件,然后接收MouseEvent时,什么会导致MouseEvent的toElement属性为null?
编译为JS后,我正在浏览器(chrome和firefox)中运行它。
编辑:
在HTML文件中,我直接链接了已编译的JS脚本。
现在,我更改了链接dart脚本和pakcages / browser / dart.js的链接(与sameple dart网络应用程序一样)。进行此更改后,它在Chrome和chrome中可以正常工作(event.toElement!= null),但在Firefox中则不能。 Firefox仍然具有event.toElement == null
该怎么办??
CODE:
HTML:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="sample_container_id">
<p id="sample_text_id"></p>
</div>
<script type="application/dart" src="button_event.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
import 'dart:html';
void main() {
ButtonElement b = new ButtonElement();
b.text = 'Press Me';
b.id = 'button_id';
b.onClick.listen(onMarketButtonClick);
querySelector('#sample_container_id').append(b);
}
void onMarketButtonClick(MouseEvent _event) {
querySelector('#sample_text_id').text = _event.toElement.toString();
}
最佳答案
Firefox属性称为relatedEvent
。使用它,您将不会获得null
。
我仍然不确定用例,但是根据您想要的信息,您可能只需要使用currentTarget
或target
:
querySelector('#sample_text_id').text = _event.currentTarget.toString();
querySelector('#sample_text_id').text = _event.target.toString();
关于button - dart MouseEvent toElement null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20455557/
我遇到过这个 html: 上面的html和这个有什么区别: 最佳答案 来自MDN page on the tag : 对于 type 的属性标签,可能的值是: 提交:按钮将表单数据提交给服务器
Button button= (Button) findViewbyID(R.id.button); 和 Button button = new Button(this); 有什么区别? 最佳答案 有
我是一名优秀的程序员,十分优秀!