nik*_*3ro 21 c# asp.net fancybox
我刚刚决定使用Firebug,当创建Fancybox窗口时,它实际上需要我的所有ASP.NET控件(包含在DIV标记中)并将它们放在FORM标记之外.所以我猜这就是为什么然后ASP.NET按钮不做任何事情 - 它被放置在窗体之外.
那么,除了使用完全不同的模态对话框之外,你有什么建议我可以阻止这个(或使ASP.NET按钮工作)吗?
编辑:好的,人们报告某些建议的修复程序在某些版本上适用于他们.所以,请务必阅读所有答案/滚动到底部,了解如何在不同的Fancybox版本上解决此问题.
der*_*rek 33
你需要改变它(在jquery.fancybox-1.3.1.js的第719行附近):
$('body').append(
tmp = $('<div id="fancybox-tmp"></div>'),
loading = $('<div id="fancybox-loading"><div></div></div>'),
overlay = $('<div id="fancybox-overlay"></div>'),
wrap = $('<div id="fancybox-wrap"></div>')
);
Run Code Online (Sandbox Code Playgroud)
至
$('form').append(
tmp = $('<div id="fancybox-tmp"></div>'),
loading = $('<div id="fancybox-loading"><div></div></div>'),
overlay = $('<div id="fancybox-overlay"></div>'),
wrap = $('<div id="fancybox-wrap"></div>')
);
Run Code Online (Sandbox Code Playgroud)
Myk*_*ack 19
对于任何需要使用Fancybox版本2来解决此问题的人来说,这是一种更简单的方法.您所要做的就是在代码中添加父:"form:first",例如
$(document).ready(function () {
$(".various").fancybox({
parent: "form:first",
fitToView: true,
width: '300px',
height: '100px',
autoSize: false,
closeClick: false,
openEffect: 'none',
closeEffect: 'none',
modal: false
});
});
Run Code Online (Sandbox Code Playgroud)
然后,这会将fancybox元素附加到表单标记内的dom中,而不是在body标记内.
Fancybox版本2.1.4
改变这2行
2069线左右:
document.all && !document.querySelector ? $('html') : $('body');
Run Code Online (Sandbox Code Playgroud)
至
document.all && !document.querySelector ? $('html') : $('form:first');
Run Code Online (Sandbox Code Playgroud)
在1960线附近:
this.overlay = $('<div class="fancybox-overlay"></div>').appendTo('body');
Run Code Online (Sandbox Code Playgroud)
至
this.overlay = $('<div class="fancybox-overlay"></div>').prependTo('form');
Run Code Online (Sandbox Code Playgroud)
你也可以使用appendTo但这取决于你.在我的情况下,我需要prependTo.
| 归档时间: |
|
| 查看次数: |
23018 次 |
| 最近记录: |