Kli*_*ick 13 javascript typescript
为什么在这种情况下:
var ele = <HTMLDivElement>document.getElementById("toolbar");
ele.addEventListener("click", function (e) {
if (e.target.tagName === "SPAN") { console.log(e.target.tagName) } }, false);
Run Code Online (Sandbox Code Playgroud)
Visual Studio向我显示此错误?
构建:运算符'==='不能应用于类型'HTMLElement'和'string'.
'EventTarget'类型中不存在属性'tagName'.
当我运行脚本工作正常.
怎么写得好呢?
谢谢.
Rad*_*ler 24
我会像这样调整代码片段:
var ele = <HTMLDivElement>document.getElementById("toolbar");
ele.addEventListener("click", (ev: MouseEvent) => {
var element = ev.target as HTMLElement;
if (element.tagName === "SPAN") {
console.log(element.tagName)
}
}, false);
Run Code Online (Sandbox Code Playgroud)
将事件属性转换target为HTMLElement将为我们提供底层元素的所有适当属性.
在操场上看看
小智 9
我发现这个语法也很好用
if ((ev.target as HTMLElement).tagName === "SPAN") {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5650 次 |
| 最近记录: |