我得到了一个有效的HTML页面,其中包含如下所示的JS代码:
<script type="text/javascript">
function nativeThingEventHandler(event) {
console.log("event received: " + event);
}
window.onload = function() {
if (typeof nativeThing !== "undefined") {
console.log("Native thing was found");
nativeThing.setListener("nativeThingEventHandler");
}
}
</script>
其中nativeThing
是HTML外部的本机对象,它执行某些操作,然后调用nativeThingEventHandler
(如您所见,它是在JS代码的顶层定义的)回调。我需要将这个超文本标记语言页面集成到一个React TypeScript项目中,而且我对Typescript还很陌生。我在实现nativeThingEventHandler
函数时遇到了问题,这样nativeThing
就可以找到它,所以当nativeThing
对象发回事件时,我总是得到一个错误。如何在typescript中定义事件处理程序,以便在项目构建后,可以在JS代码的顶层找到它?
编辑澄清: nativeObject的API期望setListener
方法中有一个字符串,然后期望在Javascript的顶层(而不是任何其他函数的内部)中有一个与该字符串同名的函数。所以这个问题特别是关于如何编写一个typescript函数,一旦编译,将导致该函数被放在javascript的顶层。
https://stackoverflow.com/questions/53842800
复制相似问题