Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在另一个函数中调用.click()脚本_Javascript_Jquery_Html - Fatal编程技术网

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

Javascript 在另一个函数中调用.click()脚本,javascript,jquery,html,Javascript,Jquery,Html,您好,我正在尝试使用append()动态生成HTML表。我编写代码的方式是,如果用户想在本地存储中输入数据,它首先检查数据是否为空。如果为空,则执行if块中的代码。如果不为空,则执行else块。所有这些代码都在getDetails()JavaScript函数中。我已将动态生成的表id指定为“myTable” 当页面第一次刷新或加载时,会执行上面的代码(window.load)。但是当我在HTML表中添加另一行时(由于localStorage不是空的,所以代码不包括else块),并单击任何表行时,

您好,我正在尝试使用append()动态生成HTML表。我编写代码的方式是,如果用户想在本地存储中输入数据,它首先检查数据是否为空。如果为空,则执行if块中的代码。如果不为空,则执行else块。所有这些代码都在getDetails()JavaScript函数中。我已将动态生成的表id指定为“myTable”


当页面第一次刷新或加载时,会执行上面的代码(window.load)。但是当我在HTML表中添加另一行时(由于localStorage不是空的,所以代码不包括else块),并单击任何表行时,代码就不起作用了。任何人都可以告诉我如何让.click()每次都工作。谢谢。

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

试着这样做:

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

        //logic here..

 });

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

试着这样做:

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

        //logic here..

 });
使用这个 $(document).on('click','#myTable tr',function(){

//你的代码 });

使用这个 $(document).on('click','#myTable tr',function(){

//你的代码
});

实际问题是您试图在页面加载时不存在的行上添加单击事件。它们将在脚本执行后加载。因此,此问题的解决方案是从window.load中删除单击事件,并在数据填充代码后将其添加到脚本中


您还可以使用jquery的.on()事件,该事件在任何情况下都可以工作。

实际问题是您试图在页面加载时不存在的行上添加单击事件。它们将在脚本执行后加载。因此,此问题的解决方案是从window.load中删除单击事件,并在数据填充代码后将其添加到脚本中

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

尝试以下操作:

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

试试这个:

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

来源:

删除不推荐的
align=“center”
;请改用CSS。嗨,Raptor,您有什么实质性的贡献可以帮助您更接近解决方案吗?请删除不推荐的
align=“center”
;请改用CSS。嗨,Raptor,你有什么实质性的贡献可以帮助你更接近解决方案吗?