Jquery 重复的JSON结果
我制作了一个简单的脚本来调用JSON文件并在网站上显示 不幸的是,它显示了双倍的结果。 问题是由图片引起的。如果我删除它们,文本只显示一次 这是脚本Jquery 重复的JSON结果,jquery,json,ajax,Jquery,Json,Ajax,我制作了一个简单的脚本来调用JSON文件并在网站上显示 不幸的是,它显示了双倍的结果。 问题是由图片引起的。如果我删除它们,文本只显示一次 这是脚本 $(function () { $('#members p, #members p span, #main_content span').on('click', function () { var attr = $(this).attr('data-number'); if (typeof attr !== typeof unde
$(function () {
$('#members p, #members p span, #main_content span').on('click', function () {
var attr = $(this).attr('data-number');
if (typeof attr !== typeof undefined && attr !== false) {
var number = $(this).data('number');
console.log(number);
$.ajax("members.json", {
dataType: 'json',
success: function (response) {
$(".images_ajax").css('display', 'block');
$(".images_ajax_sub").append(response[number].img + response[number].text);
}
}),
$(function () {
$('.close_ajax').click(function () {
$(".images_ajax_sub h1, .images_ajax_sub p, .images_ajax_sub .iMembers").remove();
$(".images_ajax").css('display', 'none');
})
})
}
})});
如果我从JSON文件中删除该图像,那么我只会得到一个未定义的图像,因为该图像丢失了而不是两个
这是JSON文件的一部分
"name": {
"img": "<div class=\"iMembers\"><img src = \"../images/images/images_of_members/some.jpg\"></div>",
"text": "<p>some text</p>"
}
“名称”:{
“img”:“,
“文本”:“一些文本”
}
我的猜测是,您的AJAX调用被触发了两次。查看单击
处理程序绑定到的DOM节点:
$('#members p, #members p span, #main_content span').on('click ...
^^^^^^^^^^ ^^^^^^^^^^^^^^^
由于不阻止事件冒泡,因此单击
span
会触发绑定的事件处理程序,然后冒泡DOM并再次触发span
的父节点:p
。因此,请尝试绑定到或。请提供一个演示来复制问题。解释一点也不清楚,没有足够的代码供我们复制。您忘记在('click',function(event){…event.preventDefaults();}(停止传播)。我确定事件被调用了2次。是的,我也确定这一点。他应该在第一次调用时停止事件传播。我尝试了function(e){e.stopPropagation()我在jQuery选择器中只留下了span元素。这些元素都不起作用。我得到了双重结果。你能告诉我应该怎么做吗?我一定是个白痴。我把脚本src文件放在网页上的两个位置。一个在标题部分,另一个在结束正文标记之前。我接受了你的答案。这不是问题所在情况是这样的,但情况可能不同。谢谢