jQuery执行多次target.event

时间:2013-06-11 14:55:46

标签: jquery jquery-ui

这是我目前的代码:

function tableClick(event){
    $('#table').click(function(event){
        alert(event.target.id);     
    });
}

<table id="table">
    <tr>
        <td id="td1" onclick="tableClick(this)">
            1
        </td>
    </tr>
    <tr>
        <td id="td2" onclick="tableClick(this)">
            2
        </td>
    </tr>
</table>

我不明白为什么它比最后一次弹出警报窗口的原因。我怎样才能解决这个问题?提前谢谢。

2 个答案:

答案 0 :(得分:4)

每次点击,都会调用此功能。

function tableClick(event){
    $('#table').click(function(event){
        alert(event.target.id);     
    });
}

这部分:

$('#table').click(function(event){

将单击处理程序附加到表中。 每次点击时,都会在表格中添加新的点击处理程序。

答案 1 :(得分:1)

因为您在每次点击时都附加了点击处理程序 -

你可以这样做 -

function tableClick(this){
     alert(this.id);     
}