2010-09-30 8 views
2

我遇到了滑塊問題。當我抓住處理程序時,我改變了圖像的.src,只是爲了改變它的顏色。但是,當我釋放鼠標按鈕時,我希望它變回原來的顏色。我嘗試了兩件事。如果釋放不在同一元素上,則丟失MouseUp事件

1)在處理程序mouseup事件中更改它:只有當我釋放處理程序上的按鈕時,這才起作用,所以這不是解決方案。

2)長安回窗口mouseup事件:事件沒有正常開火。如果我單擊並釋放窗口的任何位置,事件將正常觸發,但是如果我單擊處理程序中,將光標移動到窗口的任何其他位置,然後釋放按鈕,事件將不會觸發。

順便說一句,即時通訊使用原型js框架。

解決方案?謝謝

這是代碼。當文檔準備就緒時,我加載處理函數。

function handler() 
{ 

    var handler = $('handler'); 

    Event.observe(window, "mouseup", function(){ 
     alert('salta'); //to see when mouseup fires 
     if(handler.src=='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png'){ //orange 
      handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper.png';} //grey 
    }); 


    Event.observe(handler,'mousedown',function(){handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png';}); //orange 

} 
+1

代碼會很好。否則難以調試。 – 2010-09-30 14:38:17

+0

您將'mouseup'處理程序附加到'window',而不是'document'。他們不一樣。 – lincolnk 2010-09-30 17:37:34

回答

3

您應該將mouseup處理程序附加到document對象。

+0

很抱歉,你能解釋一下自己嗎? – 2010-09-30 15:03:51

+0

你的函數將滑塊設置回原來的顏色應該在'document'檢測到'mouseup'時調用,而不是當你的滑塊元素時。如果你在網頁的任何地方釋放鼠標,附加到'document'將會調用事件處理程序,而不僅僅是你的滑塊。發佈你的非工作代碼,如果你想更具體的幫助修復它。 – lincolnk 2010-09-30 15:10:48

+0

這似乎正是我在做什麼,也許你沒有理解我,因爲我的英語。我會發布代碼爲我們所有人闡明事情。 – 2010-09-30 15:23:12

1

onmouseout怎麼樣?

+1

這不是我在看什麼。如果將光標移出滑塊,onmouseout將會觸發。但是,即使將光標移動到窗口上的任何位置,直到釋放按鈕,仍然仍在控制滑塊滑塊。而且,如果你正在控制滑塊,滑塊是彩色的,那就是我想要的。 – 2010-09-30 14:47:07

1

這是代碼。當文檔準備就緒時,我加載處理函數。

function handler() 
{ 

    var handler = $('handler'); 

    Event.observe(window, "mouseup", function(){ 
     alert('salta'); //to see when mouseup fires 
     if(handler.src=='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png'){ //orange 
      handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper.png';} //grey 
    }); 


    Event.observe(handler,'mousedown',function(){handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png';}); //orange 

} 
+0

這應該被編輯到您原來的文章,不作爲答案添加。我編輯了你的問題,這可以被刪除。 – lincolnk 2010-09-30 17:34:48

相關問題