【问题标题】:How can I create two Onload functions at the same time?如何同时创建两个 Onload 函数?
【发布时间】:2013-12-09 07:42:40
【问题描述】:

您好,我想看看是否可以同时创建两个 onload 函数。

例如

<body onload="alert('test')">
<script>
alert("test")
</script>

这不会导致同时出现 2 个警告框。有没有办法让两者同时发挥作用,从而导致屏幕上出现多个警报框?

【问题讨论】:

  • alerts 正在阻止 JS 执行,因此您一次只能看到一个警告框。当然,您可以根据需要执行任意数量的“onload”函数。
  • 警报是一个阻止窗口。所以你不能同时有两个警报。浏览器会一一显示。
  • jsfiddle.net/2r7rU ?但不要指望同时出现两个弹出窗口,有点并排
  • 您不能一次调用两次 onload。但是,您可以一次发出两次警报或调用多个函数。像; onload="alert('test'); alert('test2')";
  • 可以通过在主体上方创建 iframe 来创建多个,这样会导致永久循环,但那会很糟糕。

标签: javascript html


【解决方案1】:

你可以定义一个函数,也可以在这个函数中调用其他函数。 例如;

function pageOnload()
{
   myAlert();
   sayHello("emre");
}

function myAlert()
{
  alert("my alert runs");
}

function sayHello(name)
{
   alert("hi " + name);
}

然后你可以在你的html上调用“pageOnload()”方法

<body onload="pageOnload()">

【讨论】:

  • 这将与&lt;body onload="alert('my alert runs'); alert('hi emre')"&gt; 一样有效。这些功能不会使任何事情成为可能。
  • 如果你有两个方法,没关系,但如果你的逻辑中有更多或更复杂的方法,我更喜欢我的方式,因为可重用性和可读性,还有维护
  • 嗯。如果我们要讨论可重用性等,最好通过脚本附加事件处理程序。但我的观点是,它并没有做任何特别的事情——特别是它不能解决警告框不同时出现的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多