使用DotNetNuke的Active Social在更改选项卡后重新绑定jQuery
我正在使用第三方选项卡控件,它是名为Active Social的DotNetnuke模块的一部分,我没有相关文档。问题是,当我更改选项卡时,我会丢失一个js(mashise.js),该js为加载到选项卡中的内容设置样式。我需要重新绑定脚本,但尚未成功 这是我到目前为止所拥有的 我正在使用我在以前的项目中使用过的重新绑定方法使用DotNetNuke的Active Social在更改选项卡后重新绑定jQuery,jquery,ajax,dotnetnuke,Jquery,Ajax,Dotnetnuke,我正在使用第三方选项卡控件,它是名为Active Social的DotNetnuke模块的一部分,我没有相关文档。问题是,当我更改选项卡时,我会丢失一个js(mashise.js),该js为加载到选项卡中的内容设置样式。我需要重新绑定脚本,但尚未成功 这是我到目前为止所拥有的 我正在使用我在以前的项目中使用过的重新绑定方法 function BindControlEvents() { //jQuery is wrapped in BindEvents function so it
function BindControlEvents() {
//jQuery is wrapped in BindEvents function so it can be re-bound after each callback.
var $container = $('.addMasonry');
$container.imagesLoaded(function () {
$container.masonry({
itemSelector: '.explore-image',
columnWidth: 10,
isFitWidth: true
});
});
}
//Initial bind
$(document).ready(function () {
BindControlEvents();
});
//为回调重新绑定
var prm=Sys.WebForms.PageRequestManager.getInstance()
但是,当选项卡更改时,这不会重新绑定。所以我在页面上创建了一个按钮
<li><a onclick="BindControlEvents();" href="#">re-bind</a></li>
更改选项卡后单击此按钮将重新绑定我的脚本
我假设下一步是找到一个事件,该事件告诉我一个选项卡已完成加载,但到目前为止,我还没有成功
我已尝试选择选项卡容器并在.load()和.ajaxComplete()上运行BindControlEvents函数,但仍然没有成功
是否有其他方法可以确定选项卡何时已完全加载。我知道我可能不会为工作付出太多,但这是我所知道的
谢谢你的帮助
标记可能有部分回发未被截获,请尝试在jquery init之外的js中添加以下内容:
<script type="text/javascript">
Sys.Application.add_load(BindControlEvents);
function BindControlEvents() {
[...]
</script>
Sys.Application.add_load(BindControlEvents);
函数BindControlEvents(){
[...]
希望这有帮助,
al.如果不知道您使用的选项卡控件是什么,我们就无法真正帮助您,因为我们不知道如何研究知道何时加载选项卡的方法。您可以切换到使用jQuery UI选项卡吗?我想这会很难。我无法真正切换,因为选项卡是名为Active Social的Dotneuke模块的核心部分。也许我应该我希望这里的人也经历过同样的事情。
<script type="text/javascript">
Sys.Application.add_load(BindControlEvents);
function BindControlEvents() {
[...]
</script>