2013-04-28 19 views
0

所以我真的對JavaScript不熟悉,甚至還沒有完成Codeacademy的軌道。但我完成了jQuery,HTML/CSS和Python,所以邏輯至少對我來說不是完全陌生的...JavaScript/jQuery:有沒有什麼方法可以在表格中使用某個函數時纔有焦點?

無論如何,我做了一個測試頁面來嘗試第一次練習JavaScript技巧,我最終做的是製作一個「顏色選擇」div,當你點擊它時會變成不同的顏色,然後是一個大桌子,裏面裝滿了不同的單元格,當鼠標懸停時它將變成「顏色選擇」div的顏色超過它。所以基本上一個非常簡單的着色板。但事情的方式是,您不能只點擊畫布並開始着色,無論您是否選擇了它,只要您的鼠標進入屏幕的那一部分,就會改變顏色。

「畫布」本身就是一張大桌子。如果我理解正確,我不能只在表上使用.focus()。

所以我想簡單地說......我想知道的是,如果有什麼方法可以說「當這張桌子在焦點上時,當鼠標懸停在(這個)上時做X」。 或者,「當用戶點擊這個表格時,讓這些單元格在鼠標懸停時改變顏色,但是當用戶在表格外點擊時,請停止這樣做。」

這是一種可能性,還是我以錯誤的方式解決了這個問題?

回答

0

也許試試這個:

SEE DEMO

$('#myelem').attr('tabindex',-1).hover(function() { 
    if (document.activeElement === this) { 
     console.log('hover'); 
    } 
}); 

設置的tabindex屬性是跨瀏覽器支持的重點事件在一些瀏覽器,默認情況下沒有設置的tabindex,一些HTML元素本身不支持重點。

順便說一句,如果你不想焦點元素通過瀏覽器進行了重新設計,可以將這個CSS添加的元素:

$('#myelem').css('outline',0).attr('tabindex',-1).hover(function() {...}); 
相關問題