为了账号安全,请及时绑定邮箱和手机立即绑定

addEventListener不能访问闭包内定义的函数?

addEventListener不能访问闭包内定义的函数?

沧海一幻觉 2018-08-10 10:09:13
在闭包内写了一个函数,会自动调整html元素的font-size为innerWidth/10,这样网页上的元素都可以以rem为基准,10rem为viewport的宽度(function(val) {   var adjustRem = function(val) {     document.documentElement.style.fontSize = (window.innerWidth/val)+'px';   };   addEventListener('orientationchange', adjuseRem(val));   adjustRem(val);})(10)后来新需求是在orientationchange时也能动态调整html的font-size,于是在闭包里写了一个这么一个东西。按理说eventListener保存着对adjustRem的引用,这个函数应该一直管用的。但旋转时,console出现了adjustRem未定义的错误。求解!擦 是我函数名字写错了已经解决(function() {   var val = 7.5;   var adjustRem = function(val) {     document.documentElement.style.fontSize = (window.innerWidth/val)+'px';   };   addEventListener('orientationchange', function() {     setTimeout(function() {       adjustRem(val);     }, 300);   });   adjustRem(val);})()
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

(function(val) {  var adjustRem = function(val) {    document.documentElement.style.fontSize = (window.innerWidth/val)+'px';
  };
  addEventListener('orientationchange', function(){
      adjuseRem(val);
  });
  adjustRem(val);
})(10)

按你那么写,肯定是未定义错误


查看完整回答
反对 回复 2018-09-17
  • 1 回答
  • 0 关注
  • 786 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信