Jquery mobile 使用Jquery Mobile动态生成对话框会打开多次

Jquery mobile 使用Jquery Mobile动态生成对话框会打开多次,jquery-mobile,dialog,event-handling,Jquery Mobile,Dialog,Event Handling,在一个多页面模板中,我有三个分类页面(喜剧、动作、戏剧),您可以在每个包含图像行的页面之间滑动(宋飞、现代家庭、家庭男孩、大爆炸)。单击单个图像应打开一个对话框(宋飞总结),单击关闭按钮时关闭,并保持关闭状态。最初它是工作的,然后发生的事情是基于两个图像后单击的数量,它打开和关闭n-1(单击第三个图像,打开对话框两次) 这背后的原因是什么?如果没有您的代码,我可以肯定,但我想我理解您的遭遇 多事件绑定有问题。由于jQuery Mobile的体系结构,可以多次将事件绑定到某个对象 我在jQuery

在一个多页面模板中,我有三个分类页面
(喜剧、动作、戏剧)
,您可以在每个包含图像行的页面之间滑动
(宋飞、现代家庭、家庭男孩、大爆炸)
。单击单个图像应打开一个对话框
(宋飞总结)
,单击关闭按钮时关闭,并保持关闭状态。最初它是工作的,然后发生的事情是基于两个图像后单击的数量,它打开和关闭n-1(单击第三个图像,打开对话框两次)


这背后的原因是什么?

如果没有您的代码,我可以肯定,但我想我理解您的遭遇

多事件绑定有问题。由于jQuery Mobile的体系结构,可以多次将事件绑定到某个对象

我在jQuery Mobile的事件处理页面上有一个博客,其中有一章专门讨论这个问题,只需搜索防止多事件触发的章节即可。或者可以在中找到它

简言之,在将事件绑定到某个对象之前,请始终取消绑定事件,以防止发生这种情况:

$('#test-button').die('click').live('click', function(e) {
    alert('Button click');
});

您可以将其显示为代码的一部分吗?我想我知道你有什么问题,但我想确定一下。最坏情况场景仅显示为将单击事件绑定到图片的代码的一部分。