jQuery Tools警报只运行一次(但只运行一次)

我正在尝试使用jQuery Tools构建一个简单的警报机制 – 响应一些Javascript代码,弹出一个带有消息的叠加层和一个OK按钮,单击该按钮会使叠加层消失。 琐碎,或应该是。 我一直在盲目地关注http://flowplayer.org/tools/demos/overlay/trigger.html ,并且在第一次调用时有一些正常工作,但只是那个时候。 如果我重复应该公开叠加层的JS动作,它就不会。

我的内容/ DIV:

 

和Javascript:

 function showOverlayDialog() { $('#the_alert').overlay({ mask: {color: '#cccccc', loadSpeed: 200, opacity: 0.9}, closeOnClick: false, load: true }); } 

正如我所说:当第一次调用showOverlayDialog()时,叠加显示就像它应该的那样,并在单击“确定”按钮时消失。 但是,如果我再次运行showOverlayDialog(),而不重新加载页面,则没有任何反应。 如果我重新加载页面,那么模式会重复 – 第一次调用会显示叠加层,但第二次调用不会。

我显然缺少一些东西 – 那里有什么建议吗? 谢谢!

定义对话框并将load设置为false(禁用对话框的自动加载):

 $('#the_alert').overlay({ mask: { color: '#cccccc', loadSpeed: 200, opacity: 0.9 }, closeOnClick: false, load: false }); 

然后在显示对话框的处理程序中,调用load api方法 :

 $("#show").click(function() { $("#the_alert").data("overlay").load(); }); 

(将click事件分配给id为show的元素,该元素显示叠加层)

这里的工作示例: http : //jsfiddle.net/andrewwhitaker/Vqqe6/

我不相信你能够在特定元素上定义多个叠加层,这会导致你的问题。