0

是否可以遍历表格单元格列表并检查是否有特定事件(例如click),然后执行回调函数?

4

1 回答 1

3

您可以使用td 选择器each方法来循环并使用事件数据来获取您正在寻找的事件:

$("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/

于 2013-01-17T20:27:02.150 回答