【问题标题】:Click event on table in jQueryjQuery中表格上的单击事件
【发布时间】:2018-10-23 17:53:57
【问题描述】:

我有 html,我需要在表格中动态追加一行,还需要在追加 div 类中捕获点击事件。如何实现这个任何想法?

JavaScript:

$(document).ready(function() {

    $("#click").click(function() {
        $('table').prepend('<tr> <td>something3</td> <td> <a><div class="s"> s </a> </td></tr>');
    });


    $(".s").click(function() {
        alert("Ok");
    });

});

HTML:

<input type="button" id="click" value="click"/>

<table width='100%'>
    <tr><td>something</td><td>else here</td></tr>
    <tr><td>something2</td><td>else here2</td></tr>
    <tr><td>something3</td><td>else here3</td></tr>
</table>

【问题讨论】:

  • 您附加的 HTML 代码是一团糟。你需要修复它。

标签: jquery html-table


【解决方案1】:

请参阅live() 方法,它允许您为 DOM 中匹配给定选择器的所有当前和未来元素绑定一个事件。

 $(".s").live('click', function(){
    alert("Ok");

 });

jQuery docs说:

将处理程序附加到与当前选择器匹配的所有元素的事件,现在和将来


注意,这个答案写于 2011 年 10 月,当时 jQuery 1.6.4 为王。 live() 在 1.7 中被弃用,取而代之的是使用 on()。现在等效的语法是;

 $(document).on("click", ".s", function(){
    alert("Ok");
 });

【讨论】:

猜你喜欢
  • 2011-09-11
  • 2011-07-23
  • 1970-01-01
  • 2018-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-28
相关资源
最近更新 更多