bootstrap模態框實現拖拽
專案中用的有點亂,jquery和angularjs一起搞,有些外掛用的jquery版本的,有的外掛用的ng版本的。搞到現在測試了一輪又一輪,發現modal模態框有限bug,因為層級的問題,modal框會被左側選單遮擋,需求就改成將modal框改成可以拖動的。
網上搜了搜,找到個blog發現基本功能是可用的。但是效果不太友好。問題有以下兩個
- 拖動時候背後文字會被選中,很難看
- modal模態框會被拖出邊框以外,很難看,而且可能拖不回來
- modal可多動但是滑鼠指標沒有任何的顯示,不友好
將上邊三個小問題解決以後,基本就可以用了。
拖動選中的時候,主流的webkit和火狐瀏覽器可以通過樣式來調整,而ie的瀏覽器用過一句簡單的js解決。
-moz-user-select:none;/*火狐*/
-webkit-user-select:none;/*webkit瀏覽器*/
-ms-user-select:none;/*IE10*/
-khtml-user-select:none;/*早期瀏覽器*/
user-select:none;
//IE瀏覽器相容
document.body.onselectstart=document.body.ondrag=function(){
return false;
}
拖出瀏覽器邊界的問題,可以增加碰撞檢驗,再增加cursor:move的樣式,就比較像模像樣了。