欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS的鼠標(biāo)監(jiān)聽mouseup鼠標(biāo)抬起失效原因及解決

 更新時間:2023年05月15日 10:26:22   作者:hmy666  
這篇文章主要為大家介紹了JS的鼠標(biāo)監(jiān)聽mouseup鼠標(biāo)抬起失效原因及解決示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、起因及解決

由于很少使用除了click的監(jiān)聽事件,今天在使用mouseup時遇到一個坑,找了好久的bug。事情是這樣的,我在寫一個表情框,為了實現(xiàn)鼠標(biāo)拖動表情框時,移動到相應(yīng)的位置。所以配合使用到了mousedown和mouseup和mosemove。

1.mosedown: 用于鼠標(biāo)按下進行選中該表情區(qū)域為可拖動;

2.mosemove:鼠標(biāo)移動時,判斷表情區(qū)域是否可拖動,,若可拖動,則開始允許拖動;

3.mouseup: 鼠標(biāo)抬起該表情區(qū)域不可拖動;

但是我遇到的問題是,鼠標(biāo)按下時,該表情區(qū)域可以拖動,但是鼠標(biāo)松開時,表情區(qū)域還是可以根據(jù)我的鼠標(biāo)位置進行拖動。

如下:

![上傳中...]()

可以看到,我鼠標(biāo)松開時,本來不可以移動的,但是現(xiàn)在卻可以移動,后來研究了一下,發(fā)現(xiàn)表情區(qū)域怎么被我選中變色了,然后查了一下使用css禁止選中,就正常了。如下:

解決:

// 表情盒子樣式
  .emojiBox {
            -webkit-user-select: none;
            -moz-user-select: none;
            -o-user-select: none;
            user-select: none;
        }

總結(jié):

其實mouseup并沒有失效,而是你拖動時,鼠標(biāo)選中了其他的元素,其實的話,鼠標(biāo)即使松開,瀏覽器內(nèi)部還是認(rèn)為用戶在復(fù)制文字,鼠標(biāo)還是按下的狀態(tài),所以不會觸發(fā)mouseup事件。

以上就是JS的鼠標(biāo)監(jiān)聽:mouseup(鼠標(biāo)抬起)失效的詳細(xì)內(nèi)容,更多關(guān)于JS的鼠標(biāo)監(jiān)聽:mouseup(鼠標(biāo)抬起)失效的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論