【问题标题】:html input button on a table doesn't call any jquery function表格上的 html 输入按钮不调用任何 jquery 函数
【发布时间】:2011-07-16 08:24:38
【问题描述】:

我有一张桌子

<table style="width: 100%;" class='table_result'>
    <tr><td>Text</td><td>Text</td><td>Text</td><td>Text</td><td>Text</td><td>text</td></tr>
</table>

然后当一个按钮被点击时,我称之为

$("table.table_result").append('<tr class="topRow" style="height: 35px;">
                                  <td 'style="text-align: center; cursor: pointer">'+ text
                           +'</td><td style="text-align: center">'
                                  +'<input class="control_voteUp" type="button" value="Up">' 
                                  + text
                                  +'<input class="control_voteDown" type="button" value="Dn">' +'</td><td style="text-align: center">'+ text +'</td><td style="text-align: center">'+ text 
                           +'</td><td style="text-align: center">'+ text
                           +'</td><td style="text-align: center">'+ text +'</tr>');

所以我想在点击control_voteUp时调用一个函数。

我已经尝试了正常的方式和其他没有成功:

$('input.control_voteUp').click(function()
{
    alert("aa");
}); 

$('input.control_voteUp').delegate('input', 'click', function()
{
   alert("aa");
});

$('input control_voteUp').live('click', function()
{
   alert("aa");
});

有什么办法吗?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    在您的实时函数调用中,您缺少一个 .

    input control_voteUp 更改为input.control_voteUp

    试试:

    $('input.control_voteUp').live('click', function()
    {
       alert("aa");
    });
    

    【讨论】:

    【解决方案2】:

    您必须将delegate 调用应用于已经存在的元素,在本例中为表格:

    $('table.table_result').delegate('input.control_voteUp', 'click', function() {
      alert("aa");
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-03
      相关资源
      最近更新 更多