JQuery的Facebox插件:获取它的窗体标记内(JQuery Facebox Plugin :

2019-09-01 04:33发布

我想要使​​用Facebox的jQuery插件,但我有几个问题得到它运行我多么希望。 容纳facebox内容的DIV是标签之外建立,因此即使我装了一些Web控件没有的他们是射击回服务器。

有没有人处理这一点,可以给我一些指点?

Answer 1:

围绕facebox.js戳我碰到这条线进来功能的init(设置)...

$('body').append($.facebox.settings.faceboxHtml)

我改变了对...

$('#aspnetForm').append($.facebox.settings.faceboxHtml)

它的形式标记加载了,目前还不能确定是否有任何副作用



Answer 2:

您可以使用此代码来注册回发事件:

btn.OnClientClick = string.Format("{0}; $.facebox.close();",ClientScript.GetPostBackEventReference(btn, null));

这将让该按钮会触发回发。



Answer 3:

即使在:$( '#aspnetForm')追加($ facebox.settings.faceboxHtml)

改变我发现它有问题。 当你使用你看到,在分配是facebox股利股利所有的HTML是涨了一倍萤火看看页面的源代码(重复)。

所以,所有所谓的唯一ID的这些控件在页面上涨了一倍,即不能上回发好,我决定把asp.net web控件在facebox是不是一个好主意。



Answer 4:

我修改facbox.js做到这一点。 也许有一个更好的解决方案,但这个工程就像一个魅力

在这里我做了什么:

  1. 之前加上facbox.js的最上面两行“(函数($)”
var willremove = '';
var willremovehtml = '';
  1. 找到“显示:功能(数据,克拉斯){”和函数的第一行前添加此行。
willremove = data.attr('id')
willremovehtml = $('#'+willremove).html()
$('#'+willremove).html('')
  1. 找到“关闭:函数(){”,使它看起来像下面。
close: function() {
$(document).trigger('close.facebox')
$('#'+willremove).html(willremovehtml)
willremovehtml = ''
willremove = ''
return false
}


文章来源: JQuery Facebox Plugin : Get it inside the form tag