美好的一天,我正在使用fabricjs
,它適合我。 但是我最近遇到了JavaScript無法解釋的東西,而且我只在fabricjs
(跨所有瀏覽器)上檢測到。在fabricjs中執行的Falsy代碼_fireOverOutEvents
注意:我正在使用fabricjs
的1.7.11
。
它發生在mouse:out
事件。 它的唯一副作用是對臃腫的瀏覽器控制檯:
Uncaught TypeError: Cannot read property 'fire' of null at klass._fireOverOutEvents (fabric.js:9717) ...
它是這樣的:
這是香草fabric.js
(即不是我的代碼)。
如您所見,target
爲undefined
,因此if
塊未執行。到目前爲止,這是預期的。現在是奇怪的部分。
this._hoveredTarget
是null
(參見下面的調試器視圖)。 else if
塊不應該執行,但它是。
Debugging view of falsy "else if" being executed
我試圖與像this._hoveredTarget !== null
和this._hoveredTarget != null
變種修復它,但它仍然去那裏的時候this._hoveredTarget
是null
。
我從來沒有見過這個。任何想法?
你能否提供'this._hoveredTarget'爲空的證明? – clabe45
檢查之前如果,'this._hoveredTarget = target',那麼在執行之後 – Durga
我在問題發生時添加了代碼的調試器視圖。 – RKMNGRT