Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 jquery事件函数工作不正常_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript jquery事件函数工作不正常

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

我有一个页面,其中使用jquery和ajax显示数据库中的内容。页面中有很多过程,如添加新内容和图像、编辑、删除等,都使用ajax。但是现在一些事件函数,如单击、鼠标输入等,在数据库显示的内容中不起作用

例如:这就是我在页面中显示图像的方式

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()上{
    //尝试使用这种方式,使您的代码工作良好。!
    });


您的jquery的版本是什么?我想您忘记了单击函数中的右括号);如果您使用的是旧版本的jquery,而不是使用
.on()
尝试使用
.live()
进行删除。您是否在
AJAX
成功
中编写这些事件?什么不起作用?没有触发或产生错误?您的jquery版本是什么?我想您忘记了单击函数中的右括号);如果您使用的是旧版本的jquery,而不是使用
.on()
尝试使用
.live()
进行删除。您是否在
AJAX
成功
中编写这些事件?什么不起作用?没有触发或产生错误?如果像
$(“.img”).hide()这样隐藏图像,请告诉我该怎么做@user2765968恐怕我不明白你的问题。如果您隐藏图像,它们不会触发单击事件,因为没有任何可单击的内容。您能告诉我,如果像
$(“.img”).hide()这样隐藏图像,该怎么办吗@user2765968恐怕我不明白你的问题。如果隐藏图像,它们将不会触发单击事件,因为没有任何可单击的内容。