html - Kotlin Javascript : Assigning to element property inside event handler gives "Expected a value of type dynamic"

标签 html kotlin kotlin-js

我正在使用 Kotlin 到 Javascript 的转换。

我有这个功能可以在 textarea 更改时编辑 div 的内容。

fun doStuff()
{
    val div = document.createElement("div") as HTMLDivElement
    val textarea = document.createElement("textarea") as HTMLTextAreaElement

    textarea.onchange = {
        div.innerHTML = "5"
    }
    div.innerHTML = textarea.value
}

div.innerHTML = "5" 的行有一个错误“Expected a value of type dynamic”,但是 div.innerHTML = textarea.value 从来没有一个错误。

为什么我在 onchange 处理程序中得到“预期的动态类型值”,即使在事件处理程序之外的同一行代码不会给出错误?

最佳答案

为了更清楚一点,这里的问题是什么: .onchange(或任何其他事件方法)需要一个 {(Event)->dynamic}? 作为参数。

因此,如果您插入一个 lambda,您的最后一行将用作返回值。将您的代码更改为以下内容也可以:

textarea.onchange = {
    div.innerHTML = "5"
    Unit
}

关于html - Kotlin Javascript : Assigning to element property inside event handler gives "Expected a value of type dynamic",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52685454/

相关文章:

java - 如何在 Kotlin 中创建没有访问器的属性?

android - View 的屏幕截图与 View 的大小不同吗?

javascript - 在 Kotlin JS 中实例化期望 "new"关键字的 Javascript 类

reflection - Kotlin-jvm 和 Kotlin-js 之间 KClass 的不同行为

html - 如何让 element.scrollintoview 在位置 :fixed footer 下工作

html - 需要帮助弄清楚为什么文本会溢出我的页面

kotlin - 给定范围内的安全异步

kotlin - 为什么 Kotlin/JS 为 === 返回的结果与 Kotlin/JVM 不同?

JavaScript 正则表达式帮助

javascript - 如何发现具有最大字体大小的元素