11

value = String(event.target.value || "")当触发 textinputs keyup/keydown 事件时,我遇到了。

但我不确定什么时候event.target.value不是字符串?这可能吗?什么时候有其他东西作为event.target.value?

4

2 回答 2

12

如果event.target元素不是输入类型元素,则它将没有value属性。例如,如果我单击 adiv那么event.target是一个没有value.

不需要换行event.target.value || ''String()因为它始终是 value(始终是 string 或undefined)或在 value 为 的情况下为空字符串undefined

请参阅this fiddle进行演示。

于 2013-02-06T18:22:52.997 回答
0

它可能有助于分解该声明中发生的事情。关键部分是event.target.value || ""在 String() 之前先评估。

意思是,它正在检查是否event.target.value为空或未定义。如果它为空或未定义,它将使用空白字符串""作为默认值。然后将该语句的结果传递给 String()。

于 2013-02-06T18:22:23.097 回答