Javascript jquery事件函数工作不正常
我有一个页面,其中使用jquery和ajax显示数据库中的内容。页面中有很多过程,如添加新内容和图像、编辑、删除等,都使用ajax。但是现在一些事件函数,如单击、鼠标输入等,在数据库显示的内容中不起作用 例如:这就是我在页面中显示图像的方式Javascript jquery事件函数工作不正常,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个页面,其中使用jquery和ajax显示数据库中的内容。页面中有很多过程,如添加新内容和图像、编辑、删除等,都使用ajax。但是现在一些事件函数,如单击、鼠标输入等,在数据库显示的内容中不起作用 例如:这就是我在页面中显示图像的方式 for(var i=0;i<images.length;i++) { $("#content").append("<img src='"+images[i]+"' class='img' width='300' height='200' /&g
for(var i=0;i<images.length;i++)
{
$("#content").append("<img src='"+images[i]+"' class='img' width='300' height='200' />");
}
请帮我解决这个问题 试试看:
$("#content").on("click", ".img", function() {
});
问题是,$(“#content img”)
创建了一个jQuery元素集合,这些元素在运行时存在。当您开始动态添加新元素时,它们不会自动应用事件侦听器
$(“#content”).on(“click”、“.img”)
所做的是为活动委派提供服务。因此,真正发生的是一个应用于$(“#content”)
的事件侦听器,但只有当该事件来自具有匹配选择器的子体时(在本例中为.img
)才会被激发
更多信息请访问。尝试:
$("#content").on("click", ".img", function() {
});
问题是,$(“#content img”)
创建了一个jQuery元素集合,这些元素在运行时存在。当您开始动态添加新元素时,它们不会自动应用事件侦听器
$(“#content”).on(“click”、“.img”)
所做的是为活动委派提供服务。因此,真正发生的是一个应用于$(“#content”)
的事件侦听器,但只有当该事件来自具有匹配选择器的子体时(在本例中为.img
)才会被激发
更多信息,请访问。像这样尝试
$(document).on('click', '#content .img',function()
{
...
});
像这样试试
$(document).on('click', '#content .img',function()
{
...
});
当您尝试添加一些动态内容时,总会出现此问题。因此,要解决这个问题,请始终牢记以下几点
- 都使用一些静态元素来引用您试图应用事件的动态元素。
示例:在您的情况下,尝试使用
$(“#内容”)。在('click','img',function()上{ //尝试使用这种方式,使您的代码工作良好。! });代码>
- 都使用一些静态元素来引用您试图应用事件的动态元素。
示例:在您的情况下,尝试使用
$(“#内容”)。在('click','img',function()上{ //尝试使用这种方式,使您的代码工作良好。! });代码>
.on()
尝试使用.live()
进行删除。您是否在AJAX
成功中编写这些事件?什么不起作用?没有触发或产生错误?您的jquery版本是什么?我想您忘记了单击函数中的右括号);如果您使用的是旧版本的jquery,而不是使用.on()
尝试使用.live()
进行删除。您是否在AJAX
成功中编写这些事件?什么不起作用?没有触发或产生错误?如果像$(“.img”).hide()这样隐藏图像,请告诉我该怎么做代码>@user2765968恐怕我不明白你的问题。如果您隐藏图像,它们不会触发单击事件,因为没有任何可单击的内容。您能告诉我,如果像$(“.img”).hide()这样隐藏图像,该怎么办吗代码>@user2765968恐怕我不明白你的问题。如果隐藏图像,它们将不会触发单击事件,因为没有任何可单击的内容。