[問題] 請問opera下的失焦
有兩個問題請教
1.
focuEle.bind('mouseup',function (e){....}
我想說除了按下mouseup外,還要在其他地方也呼叫這個function
是否可以
focuEle.bind('mouseup',function mouseleave(e){...}
是否這樣子就可以呼叫到?
mouseleave(e); 目前跑不出來...在下面的例子 失去焦點時
2.在Firefox中
我在mousedown 時
用了if(moveEle.get(0).setCapture){
moveEle.get(0).setCapture();
}
然後在mouseup時(就 1. 的問題中)
if(moveEle.get(0).releaseCapture)
{
moveEle.get(0).releaseCapture();
}
在firefox中拖曳離開了 可視區域到整個firefox外都可以拖曳
放開滑鼠時就會啟動mouseup事件沒有問題...
但在opera中
卻會變成在可視區域外也可拖曳但是卻無法感應到mouseup事件
變成所謂的失焦..將滑鼠移回視窗中
會變成繼續拖曳....(此時沒有按下滑鼠)
我試過
(1)加入
addEventHandler(moveEle.get(0), "losecapture", mouseleave(e));
在mousemove function中沒有作用...
(2)加入
<div id="拖曳DIV層" onlosecapture=mouseleave(e) >也沒有作用...
請教如何兼容firefox和opera的函數或寫法!感謝!
個人是覺得問題在呼叫不到mouseleave函數的關係!
不知道有什麼方式可以呼叫到此函數
還是要用其他寫法?
補充:
剛剛想了一個笨方法
就是在mouseup函數內在包一個函數 ..但是有問題的是
要如何去叫函數中的函數...
focuEle.bind('mouseup',function (e){
mouseleave();
function mouseleave(){ //在多用一個function去把他包起來?但是呼叫不到...
alert("進入mouseleave");
.....} //mouseleave的end
}//mouseup的end
PS:這裡也試過window.mouseleave=function(){} 全域的window函數也call不到?
在另外的mouse移動限定範圍(都在同一個document.ready裡面....)
一旦超過啟動
mouseleave();
但是這一個call不到mouseleave函數(mouseup函數內的函數)s
如何去呼叫函數中的函數呢?
--
寧願天空是藍色~
也不願心情是藍的!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.17.52.209
※ 編輯: robinnpca 來自: 163.17.52.209 (11/18 10:46)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):