テーブル セルのリストをループして、特定のイベント (たとえばclick
) があるかどうかを確認してから、コールバック関数を実行することはできますか?
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 に答える