2012-04-04 64 views
0

還記得imagemaps?他們在90年代到處都是。一個網頁上會有一個圖像,當你點擊它時,它可能會根據圖像而採取一些行動,而不僅僅是你點擊的確切像素。有沒有辦法在文本中獲取映像式樣行爲?

現在,假設我在div中有一些文本,以等寬字體呈現,並排列爲2D網格。有沒有什麼辦法可以在div上添加一些Javascript,這樣如果我點擊該網格中的任何字符,它會觸發一個腳本,並將它指向我點擊的字符的索引?

我知道我可以用自己定製的<a>標籤包圍網格中的每個單獨字符,但有沒有更簡單的方法來實現它呢?

回答

1

Here's a jsfiddle that proves the concept and seems to work。每次點擊都會在控制檯上記錄所點擊字母的矩陣索引。 (這是基於0和列,行)

  • 把你的文字變成等寬電網
  • 附加處理程序的的onClick包含元素
  • 計算一個單個字母的尺寸(如「一個字母的尺寸使用一個隱藏的元素只有1個字母
  • 鴻溝event.clientXevent.clientY米「),讓您的文字在您點擊信件的座標

另請參閱calculate text width with javascript

+0

這很有趣,但它有一些準確性問題。從點擊字母J後,我得到了(2,1)和(3,2)之間的各種回答。這是一個很好的開始,雖然... – 2012-04-05 00:29:24

+0

是的,這只是一個概念。我相信它可以一直工作,雖然。 – 2012-04-05 00:33:55

+0

如果我使用Math.floor而不是Math.round,它會變得更好。 – 2012-04-05 02:56:56

相關問題