我有一个函数在控件更新过程中调用,其中传递了“This”,因此函数知道正在更新什么控件。我还在页面加载时调用函数来获取初始值,但是发送document.getElementById()似乎不起作用。我应该从这里经过什么?
例如:
<script type="text/javascript">
window.onload = function () {
alert("Got to window.onload");
materialSelectionChange(document.getElementById('SquaresDropDownList'));
};
</script>在js文件里..。
function materialSelectionChange(obj) {
alert("Got into function");
}此外,它还可以正确地启动js函数的js函数。
编辑
问题似乎是JS文档的加载时间。由于JS文件显然还没有完成加载,所以函数当时没有被成功地调用。很可能是因为window.onload。如果我将函数移到页面中而不是JS文件中,它就能工作。有什么方法可以增加延迟,让我知道页面和它的组件是完全加载的吗?
发布于 2015-01-16 01:52:37
您不是在为window load事件委派,而是在调用它,以及您在id周围缺少的引号:
window.onload = myFunction(document.getElementById(typeSelect));试着把它包裹起来:
window.onload = function() {
myFunction(document.getElementById('typeSelect')); //id in quotes
};编辑
您必须处理js文件导入,在调用以下函数之前必须先导入:
<script src='your-script-file.js'></script>
<script type="text/javascript">
window.onload = function () {
materialSelectionChange(document.getElementById('SquaresDropDownList'));
};
</script>发布于 2015-01-16 02:02:33
<select id="typeSelect" onchange="myFunction(this)">
window.onload = function(){
myFunction.bind(document.getElementById('typeSelect'));
}发布于 2015-01-16 03:27:08
问题似乎是JS文档的加载时间。由于JS文件显然还没有完成加载,所以函数当时没有被成功地调用。如果我将函数移到页面中而不是JS文件中,它就能工作。有什么方法可以增加延迟,让我知道页面和它的组件是完全加载的吗?
https://stackoverflow.com/questions/27976096
复制相似问题