我的aspx页面: -
<script src="js/jquery-1.4.2.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.2.custom.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
//lots of other code here....
function showMessage(){
$("#msgDiv").dialog({
modal: true,
buttons: {
Ok: function() {
$(this).dialog('close');
}
},
resizable: true,
show: "explode",
position: "center",
closeOnEscape: true,
draggable: false
});
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
从上面的页面触发的另一个aspx弹出页面
<script type="text/javascript">
window.opener.document.getElementById("msgDiv").innerHTML = <%=MessageToShow%>; //works very well for me.
window.opener.document.showMessage(); // I am unable to access it like this?
window.close();
</script>
Run Code Online (Sandbox Code Playgroud)
基本上我想showMessage()从弹出窗口调用.我还有其他逻辑可以在两个页面中执行.
Ben*_*thy 13
在文档准备中声明你的函数:
$(document).ready(function() {
window.showMessage = function() {
//...
};
});
Run Code Online (Sandbox Code Playgroud)
然后你应该可以从其他文档中调用它,如下所示:
window.opener.showMessage();
Run Code Online (Sandbox Code Playgroud)
因为它在全局范围内,所以只需通过调用就可以在主文档中调用它
showMessage();
Run Code Online (Sandbox Code Playgroud)
据我所知,你想做的事情,是做不到的。那么,我们到底能做什么呢?
我认为最简单的想法就是移到showMessage函数之外ready,然后从内部调用它。
现在,如果确实必须在该函数中定义它,请将其设为命名函数:
function calledonready()
{
/// stuff
function showMessage(){
/// stuff
}
}
$(document).ready(calledonready);
window.opener.document.calledonready.showMessage();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12027 次 |
| 最近记录: |