MooTools More1.2.4.2のツールチップ表示クラスTipsにあるバグの修正方法について。
主な症状
ツールチップ表示を有効にした要素にマウスオーバーしてからマウスアウトすると、
FireBugで element.getParent is not a function というエラーが出る。というもの。
(圧縮してあるとelementがbになる)
エラー行数は1142行目(未圧縮)
エラーは最初の1度しか出ない。
修正方法
原因となっているTipsのfireForParentメソッドを入れ替える。
ver 1.2.4.2 Original Code:
fireForParent: function(event, element){ if (!element) return; var parentNode = element.getParent(); if (parentNode == document.body) return; if (parentNode.retrieve('tip:enter')) parentNode.fireEvent('mouseenter', event); else this.fireForParent(parentNode, event); }
Fix Code:
fireForParent: function(event, element){ if (!element) return; var params = Array.link(arguments, {event: Event.type, element: Element.type}); var parentNode = params.element.getParent(); if (parentNode == document.body) return; if (parentNode.retrieve('tip:enter')) parentNode.fireEvent('mouseenter', params.event); else return this.fireForParent(parentNode, params.event); }
参照元:Tips: “element.getParent()” not working, because “element” is of type Event
このバグは1.2.4.3で修正される予定。