0

我试图调用将切换 iframe-div 可见性的自定义 jquery。它在直接从按钮 onclick 调用而不是在后面的代码中调用时起作用。

$(document).ready(function () { 
    myfuncion01=function(){ 
        var myframe = window.parent.document.getElementById('myframe01');
        var vr_mydiv01 =$(myframe).contents().find('#div01');

        $(vr_mydiv01).hide();
    }

});

HTML 标记

<input id="Button1" type="button" value="button" onclick="myfuncion01();" />

代码背后

 ClientScript.RegisterStartupScript(this.Page.GetType(), "hwnd_appData01", "<script type='text/javascript'>myfuncion01(); </script> ", false);

我错过了什么?谢谢。

4

3 回答 3

0

文档中

RegisterStartupScript 方法添加的脚本块在页面完成加载但在页面的 OnLoad 事件引发之前执行。不保证脚本块按照注册的顺序输出。

执行使用 RegisterStartupScript 注册的脚本时,该函数还不存在。

从准备好的回调中取出函数定义并将其放入您的标题中:

<head>
...
<script>
function myfuncion01(){ 
    var myframe = window.parent.document.getElementById('myframe01');
    $(myframe).contents().find('#div01').hide();
}
</script>
</head>
于 2012-10-30T09:55:19.297 回答
0

http://www.aptana.com/(或任何 js IDE)...人类对“缺失字符”的感知很容易被欺骗。

于 2012-10-30T09:51:55.317 回答
0

你错过了一个报价。

var myframe = window.parent.document.getElementById(myframe01');

应该

var myframe = window.parent.document.getElementById('myframe01');

还要在 document.ready 之外编写函数或将其删除。它不是功能所必需的。

    myfuncion01=function(){ 
    var myframe = window.parent.document.getElementById('myframe01');
    var vr_mydiv01 =$(myframe).contents().find('#div01');

    $(vr_mydiv01).hide();
}
于 2012-10-30T09:46:32.973 回答