欢迎!请查看 关于 页面,了解更多关于此事的信息。
我的函数必须接收一个文档元素并调用 element.webkitRequestFullscreen()或 element .mozRequestFullscreen(),这取决于浏览器。
(defn somfn[elem] ..
(exists? elem.requestFullscreen)
..
无法编译。我收到以下消息 js/elem 是被局部变量遮挡的
js/elem 是被局部变量遮挡的
我该怎么解决这个问题?
在这种情况下,通过常规访问属性进行验证即可,如果属性存在,则返回真值。
(if elem.requestFullScreen ...)
或者稍微正确一点的版本
(if (.-requestFullScreen elem) ...)
这些方法在属性可能存在但可能是 null 或 false 的情况下不起作用。
null
false
你可以使用goog.object API
goog.object
`(ns my.app(:require [goog.object :as gobj]))(defn somefn[elem](if (gobj/containsKey elem "requestFullscreen")
`
...))
https://google.github.io/closure-library/api/goog.object.html