2013-01-17 107 views
0

是否可以遍歷表格單元格列表並檢查是否有任何特定事件(例如click),然後執行回調函數?檢查列表中的任何元素是否有事件

+3

是的,這是可能的。您可以遍歷表格單元格並執行點擊功能。 –

+0

@Vega我認爲你回答了他的問題:P –

回答

3

您可以使用tdselectoreach方法循環,​​並使用事件的數據得到的事件,你正在尋找:

$("td").each(function() 
    { 
    //Do you work here 
    }); 

所以,下面的HTML:

<table id="t1"> 
    <tr> <td id="t1A">A  <td> </tr> 
    <tr> <td>B <td> </tr> 
    <tr> <td>C <td> </tr> 
    <tr> <td>D <td></tr> 
</table> 

<table id="t2"> 
    <tr> <td id="t2A">A  <td> </tr> 
    <tr> <td>B <td> </tr> 
    <tr> <td>C <td> </tr> 
    <tr> <td>D <td></tr> 
</table> 

您可以使用以下方式:

$("#t1A").click(function() { 
    alert("t1A click event"); 
}); 

$("td").each(function() { 
    var events = $._data(this, "events") 

    if (!events) return; 

    var clickEvents = events.click; 

    if (!clickEvents) return;  

    if (clickEvents.length > 0) { 
     alert($(this).attr("id") + " has a click event"); 
     $(this).click(); // Execute the click if you so desire. 
    } 
}); 

看這個例子小提琴:http://jsfiddle.net/sdnr6/1/

+0

假設OP只有一個表 – Saju

+1

@Saju這將適用於所有表格單元格。如果他想把它限制在一個特定的表格中,他可以用不同的選擇器來做到這一點。 –

相關問題