我在.Net中设置了一个非常简单的网页表单,我正在利用jQuery来实现某些功能。我正在使用DOMWindow部分作为表示层的一部分。
div中有一个登录表单,设置为display:none。当用户单击页面上的按钮时,它将显示登录表单。但是,当display设置为none时,登录表单的.Net按钮不会触发它的事件。如果我把它拿出来,那就好了。我也尝试过使用visibility属性,但没有运气。
<div id="Login" style="display:none;">
启动代码为:
click <a href="javascript:LaunchLoginWindow();" style="color:#000000;">here</a> to login.<br />
jQuery代码是:
function LaunchLoginWindow() {
$(document).append("#Login");
$.openDOMWindow({
loader: 1,
loaderImagePath: 'animationProcessing.gif',
loaderHeight: 7,
loaderWidth: 8,
windowSourceID: '#Login'
});
}
任何人都可以提供任何帮助或解释。
我注意到我在Login div中定义了一个客户端函数。我删除了这个,以便将其作为一个可能的问题消除。
答案 0 :(得分:2)
我可以在你的代码中看到你正在附加div #Login但是没有将它的样式属性设置为正常,就像块一样。将它设置回阻止,我相信它会起作用
尝试添加如下内容:
$(document).append("#Login").show();
答案 1 :(得分:1)
好吧,在使用firebug玩这个之后,我发现了一个问题:当jQuery插件DOMWindow创建它的显示层时,它会附加到DOM的HTML节点,它将控件放在asp.net表单之外标签。因此,.Net无法识别通过DOMWindow与其关联的按钮和操作。所以我编辑了DOMWindow源文件以附加到DOM表单节点而不是html节点。
缺点是源已经定制,必须彻底进行QA,特别是如果进行任何进一步的更改。但我希望通过在文件中发表评论来有效地管理这个问题。
希望这可以帮助其他任何人解决这个问题。
PBR