在另一个函数中调用 .click() 脚本

calling .click() script inside another function

您好,我正在尝试使用 append() 动态生成 HTML tables。我编写代码的方式是,如果用户想在 localStorage 中输入数据,它首先检查它是否为 empty.If 它是否为空 if 块中的代码获取 executed.If 不为空然后 else 块 得到 executed.All 此代码在 getDetails() JavaScript 函数中。我已将动态生成的 table id 指定为 "myTable".

  <table align="center" id="myTable">

  </table>

  <script>
   function getdetails(){
      if(localStorage.length == 0){
          ......
       }
      else{
          do something ...
      }

      }
  <script>

问题是,当我单击创建了以下函数的 table row.For 时,我需要获取行号。

    $(window).load(function() {

     $("#myTable tr").click(function(){
        .....
        });
     });

当我在 HTML table(代码执行 else 块,因为 localStorage 不为空)并单击代码不起作用的任何 table 行。谁能告诉我如何让 .click() 每 time.Thanks.

工作一次

您可以使用 on 关键字绑定事件以处理动态 DOM 元素

这样试试:

$("#myTable").on('click','tr',function(){

        //logic here..

 });

使用这个

$(文档).on('click','#myTable tr',function(){

// 你的代码 });

实际问题是您试图在执行 script.So 后加载页面 load.They 时在不存在的行上添加点击事件,此问题的解决方案是从 window.load 并在脚本中数据填充代码后添加。

您还可以使用 jquery 的 .on() 事件,它在任何情况下都有效。

试试这个:

 $("#myTable tr").click(function(){
      alert('You clicked row '+ ($(this).index()+1) );
 });

来源:Which row number is clicked in a table