2014-01-23 36 views
1

我用下面的HTML代碼創建了一個網格,我想知道是否有可能使用jQuery將偵聽器添加到網格的每個單元。通過繪製一個包含水平線和垂直線的盒子來繪製網格,從而形成單個盒子。所以目前每個單元不是一個單獨的元素。我想爲每個單元添加一個偵聽器(或者可以區分這些單元的偵聽器),這樣當我單擊某個單元格時,就會發生特定於該單元格的某些事件。向網格的每個單元添加一個偵聽器

這是可能與我目前的設置?或者我可能需要改變我創建網格的方式來實現這一點嗎?

<div class="grid-window" style="overflow: visible; top: 24px; left: 24px; right: 0px; bottom: 0px; height: 225px; width: 215px;"> 
    <div class="grid" style="height: 225px; width: 215px;"> 
    <div class="gridlines"> 
     <div class="vline" style="height: 225px; left: 0px;"></div> 
     <div class="vline" style="height: 225px; left: 30.571428571428573px;"></div> 
     <div class="vline" style="height: 225px; left: 61.142857142857146px;"></div> 
     <div class="vline" style="height: 225px; left: 91.71428571428572px;"></div> 
     <div class="vline" style="height: 225px; left: 122.28571428571429px;"></div> 
     <div class="vline" style="height: 225px; left: 152.85714285714286px;"></div> 
     <div class="vline" style="height: 225px; left: 183.42857142857144px;"></div> 
     <div class="hline" style="width: 100%; top: 0px;"></div> 
     <div class="hline" style="width: 100%; top: 16px;"></div> 
     <div class="hline" style="width: 100%; top: 32px;"></div> 
     <div class="hline" style="width: 100%; top: 48px;"></div> 
     <div class="hline" style="width: 100%; top: 64px;"></div> 
     <div class="hline" style="width: 100%; top: 80px;"></div> 
     <div class="hline" style="width: 100%; top: 96px;"></div> 
     <div class="hline" style="width: 100%; top: 112px;"></div> 
     <div class="hline" style="width: 100%; top: 128px;"></div> 
     <div class="hline" style="width: 100%; top: 144px;"></div> 
     <div class="hline" style="width: 100%; top: 160px;"></div> 
     <div class="hline" style="width: 100%; top: 176px;"></div> 
     <div class="hline" style="width: 100%; top: 192px;"></div> 
     <div class="hline" style="width: 100%; top: 208px;"></div> 
     <div class="hline" style="width: 100%; top: 224px;"></div> 
    </div> 
    </div> 
</div> 
+0

你爲什麼要格式化這種方式,而不是使用''

? – apohl

+0

嗯,這段代碼是使用JavaScript(寫入HTML)創建表的預編寫代碼集的一部分。我沒有打擾改變這部分代碼。將此更改爲

可以使添加偵聽器變得更容易嗎? –

+0

絕對!然後你需要做的是: $(「td」)。on(「click」,function(event){ }); – apohl

回答

0

如果你只想跟蹤其格被點擊

可以計算和這些細胞的儲存尺寸/邊界,然後在點擊簡單的函數時跟蹤鼠標的位置會告訴您單擊的單元格。

我認爲最好是改變結構,因爲它不會很好地處理網格內的內容。這裏

尼斯HTML結構造型:

http://www.webdesignerdepot.com/2014/01/how-to-create-a-slidable-grid-with-jquery/

有一個HTML 5插件添加格太不知道這是否會幫助你的情況。

http://jquerygrid.net/

0

如果您正在構建網格,您應該使用帶有邊框的表格或div。

這樣您就可以爲每個表格單元格或div分配一個ID。

個人是這樣的時候,我將建立一個表的一個 - 剛剛分配的30.57px的高度,以每個錶行和30.57px每列的寬度的寬度 - 然後border:1px作爲一種風格,你將有同樣的效果。

相關問題