【发布时间】:2010-07-22 08:12:18
【问题描述】:
我项目中的页面基于母版页和内容页...
我想在之后的一个内容页面中使用 javascript(而不是 jquery)做一些事情 所有主元素和内容元素都已完全加载。(例如,将焦点设置在 RadComboBox 控件上)
为此,我使用了以下代码:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="../JQuery/jquery-1.4.1.js" language="javascript" type="text/javascript"></script>
<script type="text/javascript">
onload = onloadOfDocument;
function onloadOfDocument() {
var combo = $find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");
alert(combo);
var comboInput = combo.get_inputDomElement();
comboInput.focus();
}
</script>
</asp:Content>
但是alert(combo); 总是返回null。($find 代码是用于telerik 控件的,上面关于telerik 控件的代码是完全正确的)
为了解决这个null 问题,我测试了如下所示的方法:
1- 我从主页面和内容页面中删除了除 RadComboBox 控件和 null 问题之外的所有控件,因此我得出 null 问题是关于主页面和内容页面的所有元素都没有被加载时
$find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");
被解雇了。
2- 所以我用了
$(document).ready(function() { my codes });
而不是
onload = onloadOfDocument;
但问题没有解决 - 我不知道为什么!!!
3- 最后我测试了下面的代码,它运行良好:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="../JQuery/jquery-1.4.1.js" language="javascript" type="text/javascript"></script>
<script type="text/javascript">
//onload = onloadOfDocument;
document.onkeyup = onkeyupOfDocument;
function onkeyupOfDocument() {
var combo = $find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");
alert(combo);
var comboInput = combo.get_inputDomElement();
comboInput.focus();
}
</script>
我应该使用文档的什么函数来做一些javascript代码在所有的主和内容元素都完全加载之后?
提前致谢
【问题讨论】:
标签: javascript asp.net jquery null document-ready