亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如下情況,分析了好久都沒找到原因,希望大家幫忙,謝謝!

如下情況,分析了好久都沒找到原因,希望大家幫忙,謝謝!

PIPIONE 2023-03-22 14:10:09
我做了一個標簽頁面,標簽所在區域的結構是三層div,最下層表示標簽欄,中間是標簽滾動區域,最上層是一個一個的標簽(仿照Ext的tabpanel)。 當拖動某個標簽時,我做的處理是,監聽標簽上的鼠標按下動作,然后復制并隱藏此標簽,將此標簽的副本的position屬性設為absolute,并作為滾動區域的第一個節點,然后監聽標簽欄上的鼠標移動事件及鼠標抬起事件,鼠標移動時此標簽的副本會跟著鼠標移動,抬起時,根據位置更改標簽的位置。 這個操作在google瀏覽器中可以正確實現,但在ie下(我用的ie8),拖拽時鼠標會變為禁止樣式,副本不會跟著鼠標移動,鼠標抬起后,副本才會跟著移動,鼠標再做一次點擊動作,標簽才會移動到正確位置。
查看完整描述

1 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

mousemove 和 mouseup 要綁定到 document 上,還有就是坑爹的 ie 當拖拽到窗口外的時候 mouseup 事件會丟失,因此要在 mousemove 中做針對IE的 hack 檢測并自己觸發 mouseup。比如在 jqueryui 的 drag & drop 中的 mousemove 的處理方法 
Javascript代碼 

  1. _mouseMove: function(event) {  

  2.     // IE mouseup check - mouseup happened when mouse was out of window  

  3.          

  4.         if ($.browser.msie && !(document.documentMode >= 9) && !event.button) {  

  5.             return this._mouseUp(event);  

  6.         }  

  7.   

  8.         // other mouse move process code ....  

  9.     },  


查看完整回答
反對 回復 2023-03-24
  • 1 回答
  • 0 關注
  • 99 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號