語言:LayaBox - AS3
示例:
第一步:鼠標(biāo)點(diǎn)擊事件的監(jiān)聽函數(shù)綁定給了canvas(舞臺)
第二步:
public static function checkItemUseDlg(target:*):void{
//獲取tip所在的頁面(tip掛載的父級頁面)
var dlg:* = GameUIManager.instance.getUI(1);
//判斷是否點(diǎn)擊tip框以外的位置
if(dlg && dlg.visible && Tools.isAncestor(target,dlg)){
dlg.hide()
}
}
判斷點(diǎn)擊的目標(biāo)不是tip框的代碼
public static function isAncestor(curWindow:Sprite,ancestor:Sprite):Boolean{
var flag:Boolean = curWindow == ancestor
if(!flag){
var parentNode:Sprite = curWindow.parent as Sprite
while(parentNode){
flag = parentNode == ancestor
if(flag)
break
parentNode = parentNode.parent as Sprite
}
}
return flag
}