使用prepOverlay时,如何防止打开多个overlay?
When using prepOverlay, how can multiple overlays be prevented from opening?
我使用的是 Plone 4.3,我有一个浏览器视图,其中有打开特定形式覆盖的链接
在我的 html 中,我有
<table>
<thead>
<tr>
<th class='.prep_form'>Sun</th>
<th class='.prep_form'>Mon</th>
...
</tr>
</thead>
<tbody>
...
</tbody>
</table>
在我的 jquery 文件中
jquery(function($){
...
$('.prep_form').prepOverlay({
subtype: 'ajax',
filter: '#content-core > form',
noform: 'redirect',
redirect: function(){
redirect_location = ""; // put together a string
return redirect_location;
},
});
...
});
不幸的是,我可以在打开表单叠加层之前多次单击链接,从而导致不止一次打开。
如何防止打开多个叠加层?
在 jquery 工具的 Docs 中有一个叠加选项:oneInstance:true
但它应该是默认值。您可以通过 this.getOverlay().close()
关闭所有打开的叠加层
$('.prep_form').prepOverlay({
subtype: 'ajax',
filter: '#content-core > form',
noform: 'redirect',
redirect: function(){
redirect_location = ""; // put together a string
return redirect_location;
},
config: {
oneInstance:true,
onBeforeLoad : function (e) {
console.log('onBeforeLoad', this.getOverlay());
this.getOverlay().close();
return true;
}
}
});
我使用的是 Plone 4.3,我有一个浏览器视图,其中有打开特定形式覆盖的链接 在我的 html 中,我有
<table>
<thead>
<tr>
<th class='.prep_form'>Sun</th>
<th class='.prep_form'>Mon</th>
...
</tr>
</thead>
<tbody>
...
</tbody>
</table>
在我的 jquery 文件中
jquery(function($){
...
$('.prep_form').prepOverlay({
subtype: 'ajax',
filter: '#content-core > form',
noform: 'redirect',
redirect: function(){
redirect_location = ""; // put together a string
return redirect_location;
},
});
...
});
不幸的是,我可以在打开表单叠加层之前多次单击链接,从而导致不止一次打开。
如何防止打开多个叠加层?
在 jquery 工具的 Docs 中有一个叠加选项:oneInstance:true
但它应该是默认值。您可以通过 this.getOverlay().close()
$('.prep_form').prepOverlay({
subtype: 'ajax',
filter: '#content-core > form',
noform: 'redirect',
redirect: function(){
redirect_location = ""; // put together a string
return redirect_location;
},
config: {
oneInstance:true,
onBeforeLoad : function (e) {
console.log('onBeforeLoad', this.getOverlay());
this.getOverlay().close();
return true;
}
}
});