我项目中的页面基于母版页和内容页...
我想在所有主元素和内容元素都加载完成后,在一个内容页面中使用 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 控件和空问题消失了,所以我得出空问题是关于主页面和内容页面的所有元素都没有被加载时
$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>
在所有 MASTER 和 CONTENT ELEMENTS 完全加载后,我应该使用什么文档功能来执行一些 javascript 代码?
在未来提前感谢