gpt4 book ai didi

javascript - Google Closure Compiler 将类型从 EventTarget 强制转换为 Node

转载 作者:行者123 更新时间:2023-11-28 13:33:36 25 4
gpt4 key购买 nike

我正在尝试编译我的程序,该程序在图像上有一个单击事件监听器,并且我正在尝试检查该单击是否发生在特定元素或其他元素上。

function(e){
var img_wrapper = goog.dom.getElementsByClass('imgWrapper');
if (img_wrapper.length > 0 && goog.dom.findCommonAncestor(e.target, img_wrapper[0]) === img_wrapper[0]){
return;
}
}

当我编译时,我收到此错误:

flickr_closure.js:226: WARNING - actual parameter 1 of goog.dom.findCommonAncestor does not match formal parameter
found : (EventTarget|null)
required: (Node|null|undefined)
if (img_wrapper.length > 0 && goog.dom.findCommonAncestor(e.target, img_wrapper[0]) === img_wrapper[0]){
^

0 error(s), 1 warning(s), 97.0% typed

代码按照我想要的方式工作,但我仍然收到该警告,并且由于这是一项学校作业,因此要求之一是编译时不能出现警告。

我尝试为 e.target 添加一些基本类型信息,以尝试告诉编译器将其视为 Node,但它也提示这一点。

最佳答案

使用所谓的type-casting :

/** @type {Node} */ (e.target)

例如

goog.dom.findCommonAncestor(/** @type {Node} */ (e.target), img_wrapper[0])

关于javascript - Google Closure Compiler 将类型从 EventTarget 强制转换为 Node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com