【问题标题】:How do I run this function on page load? [duplicate]如何在页面加载时运行此功能? [复制]
【发布时间】:2016-09-20 12:40:10
【问题描述】:

我必须将我的函数包装在一个命名空间中。如何以这种格式在页面加载时运行我的函数?

window.myFunction = { submitButton: function () {

document.getElementById('button').value='My text';

}
window.onload = submitButton;
};

如果我在没有命名空间的情况下编写它,它可以正常工作

function submitButton() {     document.getElementById('button').value='My text'; }

window.onload = submitButton;

【问题讨论】:

  • 我认为他的问题是关于如何获取 submitButton 而不是他的问题中已有的 onload
  • 更接近于:stackoverflow.com/q/1235985/1807040 的副本,我也认为您的意思。 window.init = window.myFunction.submitButton
  • 这段代码格式不正确。它不会像这样执行,因为您正在对对象体内的window.onload 进行分配!
  • Dominic 您可以将函数分配给 onload。 - 这就是你应该做的。
  • 是的,但是在初始化对象时不能分配它。那不会运行。尝试执行他的第一段代码,你就会明白我的意思了。

标签: javascript


【解决方案1】:

myFunction 在您的示例中是一个对象而不是一个函数,并且 submitButton 是该对象的一个​​属性,要访问它,您将执行以下操作:

window.onload = window.myFunction.submitButton;

更新

这样的东西会运行多个功能。

 window.onload = function(){
    for(var prop in window.myFunction) { 
      if(window.myFunction.hasOwnProperty(prop) && typeof window.myFunction[prop] === 'function') {
        window.myFunction[prop]();
      }
    }
 };

【讨论】:

  • 如何在window.onload中运行多个函数?
  • 运行多个函数 - 什么意思?
  • 就像我的命名空间中除了 submitButton 之外还有另一个对象,并且我希望它在 window.onload 时也能运行。
  • 检查我的答案我已经更新了。
  • 太棒了,再次感谢!
猜你喜欢
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 2017-01-12
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多