返回时会出现重复事件
There is a duplication of events ,when returning back
我有两个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);
});
});
我没有深入研究代码,但似乎每次进入详细信息页面时,都会重新创建on
事件。因此,每次单击按钮时,它都会再次运行该功能。这就是为什么在你看来它每隔一次都"正确"工作的原因。因此,在细节页面的每偶数个条目上,你都会得到"wierd"效果。确保(document).on('tap', '.item', function(e) {
只运行一次,它就会得到解决。
相关文章:
- 访问新创建的Facebook事件返回false
- Google Map KML层占位符点击事件返回ZERO_RESULTS
- Highcharts点击事件返回“;悬停”;state而不是“state”;选择“;状态
- 如果初始事件返回 false,则停止执行事件侦听器
- 从事件返回值 onreadystatechange in AJAX 中
- 从更改事件返回“已检查”的值
- 失败事件返回 false 值的制表符,当使用辐射窗口时
- 如何从ajax成功事件返回多个值
- 当用户在输入类型号上输入小数时,事件返回null值
- 从reader.onload事件返回变量
- 如何使用点击事件返回的变量
- naturalWidth和naturalHeight使用onload事件返回0
- 如何使用特殊键监视onkeyup/down事件(返回零keyCode)
- 使用Javascript鼠标事件返回HTML5画布上鼠标点击的坐标
- 浏览器在onblur事件返回false后没有响应
- 内联onclick事件返回"Uncaught SyntaxError: Unexpected token (&
- 从jQuery自定义触发器/绑定事件返回数据
- 如何从js的子事件返回false给父事件
- 从AJAX onreadystatechange事件返回值
- 当onclick事件返回true时,菜单项don't触发事件