鍍金池/ 問答/HTML5  HTML/ 百度地圖Label綁定mouseover方法重復(fù)調(diào)用怎么解決

百度地圖Label綁定mouseover方法重復(fù)調(diào)用怎么解決

問題描述

項目中有一個地圖找房功能,鼠標(biāo)懸浮到覆蓋層上顯示行政區(qū),移開取消行政區(qū),類似下圖,
因為用到了百度地圖,查了api用文本標(biāo)簽label實現(xiàn)的覆蓋層,后來發(fā)現(xiàn)label不支持mouseenter方法,
只有mouserover方法,但是用mouseover方法又會出問題,鼠標(biāo)移動會一直重復(fù)添加行政區(qū),
自己用flag做判斷也沒有用,還是會重復(fù)執(zhí)行。

求大佬指點怎么讓mouseover不重復(fù)執(zhí)行,或者指出我的思路有什么問題,應(yīng)該怎么實現(xiàn),萬分感激!

   label.onmouseover = function (e) {
        console.log(task)
        if (task) {
            var lab = e.currentTarget;
                getBoundary(lab);
                task = false;
            }
        };

clipboard.png

回答
編輯回答
解夏

lablel加一個狀態(tài)判斷已經(jīng)enter了。

label.enter = false
 label.onmouseover = function (e) {
    if (label.enter ) {
        return
    }
    label.enter = true
    console.log(task)
    if (task) {
        var lab = e.currentTarget;
            getBoundary(lab);
            task = false;
        }
    };
}

然后mouseout的時候把這個狀態(tài)置為false

2017年2月13日 11:21