2011-07-25 24 views
1

我想知道下面的任務需要使用哪些鼠標事件。什麼鼠標/觸摸事件應該用來使光標在光標上拖動時改變顏色?

將光標拖到div上時,div會更改顏色。

通過拖我的意思是鼠標按鈕被點擊一次(而不是發佈)地方股利外,然後將光標移動在DIV(鼠標按鈕尚未在任何時間內發佈這個流程)。

該div不應該響應onmouseover。鼠標按鈕需要被按下,然後拖動div以激活div的更改。

我也想知道是否有任何觸摸設備的等效事件?

+0

不是拖放,只需點擊並拖動(想象有人畫線 - 當線路越過一個div股利的變化)。重新隱藏div,它不一定是隱藏的div。我已經編輯過我的帖子。對不起,有任何困惑。 – TryHarder

回答

1

如果我沒有理解這個權利,你可以做到以下幾點:

  • 設置一個全局變量「鼠標按下」假
  • 使用「onmousedown事件」事件來設置「鼠標按下」真
  • 使用div的「的onmouseover」事件觸發的功能,你首先檢查是否鼠標按下是真實的,如果是這樣做的div可見
  • 使用「onmouseup」活動頁面上設置「mousedown」再次虛假

對於任何觸摸事件,你應該看看Sencha Touch

編輯的JavaScript相關:如果你想避免這樣的框架。你應該看看HTML5規範。有幾個與觸摸設備相關的新事件。

這裏是一個關於它的好文章:

http://www.html5rocks.com/en/mobile/touch.html

+0

謝謝。我認爲這就是我正在尋找的。 Re Sencha Touch,我試圖避免使用框架,只實現一個簡單的JavaScript解決方案(我知道它可能並不簡單,但我想先試試這個方法)。 – TryHarder

+0

我在答案中添加了一些「原生」觸摸oportunitiys的信息。 – Chris

+0

謝謝克里斯!額外的信息看起來非常有用:) – TryHarder

1

爲此我推薦JQueryUI - 它有幾個內置的​​。爲觸摸設備的拖動事件被稱爲touchmove

+0

謝謝你的回覆。目前,我試圖避免JQuery。我只是想了解如何使用普通的JavaScript編寫此代碼。對不起,沒有在上面的問題中說明。 – TryHarder