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