javascript onload函数有效,onresize则无效
javascript onload function works, onresize does not
我在页眉中有一个函数来调整iframe
的大小,并在页脚中为window.onload
和window.onresize
调用它。
var resize = function(elementId) {
document.getElementById(elementId).height = parseInt(document.getElementById(elementId).offsetWidth)*0.63;
};
onload
作品:
window.onload = resize("youtube");
onresize
不:
window.onresize = resize("youtube")
如果我的javascript有任何错误,请原谅我。我还是个新手。
您正在立即执行函数,而不是返回函数。
因此,如果您记录window.onload
包含的内容,它将包含undefined
您需要返回一个函数(而且您可能想要缓存元素,就像我所做的那样):
var resize = function(elementId) {
return function(){
var element = document.getElementById(elementId);
element.height = parseInt(element.offsetWidth) * 0.63;
};
};
上面所做的仍然允许你做:
window.onload = resize("youtube");
由于resize
现在返回回调window.onload
(理论上)现在与相同
window.onload = function(){
var element = document.getElementById("youtube");
element.height = parseInt(element.offsetWidth) * 0.63;
};
window.onresize
(以及window.onload
)应该是函数引用;
window.onresize = function () {
resize('youtube')
}
您的实现将执行函数并将返回值分配给window
属性。
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 这个问号在Flow中意味着什么:“;?()=>“无效”;
- 从字符串末尾删除空白无效
- Jquery Datatables错误:无效的JSON基元:draw
- 滚动在Chrome中有效,但在Firefox或IE中无效
- Combine onload, onresize and onclick
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- Javascript setattribute-名称和值无效
- 格式化货币无效
- JavaScript错误无效的限定符
- 按键事件无效的原因
- Laravel数据表无效的JSON响应
- 文本字段显示它是有效的,即使它在ExtJS中是无效的
- JS代码在jsbin中有效,在jsfiddle或Chrome/Safari中无效
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- Xpath对Selenium Web驱动程序无效”;Xpath未找到”;
- 电子邮件地址验证但创建帐户,即使电子邮件地址无效
- 为什么这个按钮在IE中有效,但在Firefox中无效
- javascript onload函数有效,onresize则无效