有人可以帮助我吗?
以下代码有效,但不幸的是,需要对 doSomething() 进行函数调用:
<body onload=init()>
</body>
<script>
function Startscreen()
{
this.doSomething(); //why is this call necessary and how else to solve it?
this.startscreenhtml =
" <form onsubmit=doSomething()> " +
" <input type=text /> " +
" </form> ";
document.write(this.startscreenhtml);
}
Startscreen.prototype.doSomething = function()
{
alert(123)
}
</script>
<script>
function init()
{
var startscreen = new Startscreen();
}
</script>
我确实想将函数 doSomething 保留为对象 Startscreen 的函数。
编辑:我确实想继续使用 document.write
最好我想像现在一样在构造函数之外声明 doSomething ,因为我相信否则如果我多次调用 new Startscreen ,则会多次创建相同的函数。
但是,我尝试了很多方法来使这项工作在没有调用 doSomething 的情况下工作,包括在构造函数中声明函数,但没有任何效果。我的猜测是调用是使函数知道所必需的,因为如果从上到下阅读代码,我在声明它之前将其分配给'onsubmit'。
有谁知道如何解决这个问题?