[問題] 請問opera下的失焦

看板Ajax作者 (rob)時間14年前 (2011/11/18 08:48), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
有兩個問題請教 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)
文章代碼(AID): #1EnQjvUJ (Ajax)
文章代碼(AID): #1EnQjvUJ (Ajax)