我有2 data-role="page"
第一个是从json文件中形成的,当你点击2页(div)的入口通行证时,有更多关于录音的信息
在第二个div中,我有<a data-rel="back" ><div class="back" >back</div></a>
问题是,首先点击它正常工作,它返回一个所有记录的页面。第二次点击,过程进行到块1,然后突然回到块2,其中有详细信息
所有记录
$.getJSON('one.json', function(data, key) {
var str = "";
$.each(data, function(key, data) {
str += "<div class='item' id='" + data.id + "' style='background: url(" + data.img + "/" + data.img + "); background-size: cover;'></div>";
});
$('#listlistbreakfast').html(str);
});
转到第二页
(document).on('tap', '.item', function(e) {
e.preventDefault();
var id = $(this).attr("id");
/*-----Плавный переход--------------------*/
$.mobile.pageContainer.pagecontainer("change", "mypage.html#recept", {transition: "fade"});
/*----------Формирование на другой странице-------------*/
$.getJSON(edaid+'.json', function(data, key) {
var thisstr = "";
$.each(data, function(key, data) {
if (data.id == id) {
thisstr += "<div class='personalimg' style='background: url("+data.img+"/" + data.img + "); background-size: cover;' >"+data.text+"</div>";
}
});
$('#json').html(thisstr);
});
});
答案 0 :(得分:0)
我没有深入研究代码,但似乎每次进入详细信息页面时,都会重新创建on
事件。因此,每次单击该按钮时,它都会再次运行该功能。这就是为什么你似乎每隔一段时间“正确”工作的原因。因此,在详细信息页面的每个偶数条目上,您将获得“奇怪”的效果。
确保(document).on('tap', '.item', function(e) {
仅运行一次,然后才能解决。