1

可能重复:
如何将 onload 事件添加到 div?

我正在尝试用 css 和 javascript 画一条线,如下面的示例所示:example。我可以让它与原始内容一起正常工作,但是在尝试修改它然后让它从 html onload 工作 onload 等于它不工作,但它正在处理 onclick 事件。

这是我的CSS:

.line 
{
    position: absolute;
    height: 0px;
    border-width: 2px 0px 0px 0px;
    border-style: solid;
    border-color: #99aadd;
 }

和javascript:

function createLine2(myline,x1,y1,x2,y2)
{
    if (x2 < x1)
    {
        var temp = x1;
        x1 = x2;
        x2 = temp;
        temp = y1;
        y1 = y2;
        y2 = temp;
    }
    var length = Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    myline.style.width = length+"px";
    var angle = Math.atan((y2-y1)/(x2-x1));
    myline.style.top = y1 + 0.5*length*Math.sin(angle) + "px";
    myline.style.left = x1 - 0.5*length*(1 - Math.cos(angle)) + "px";
    myline.style.MozTransform = myline.style.WebkitTransform = myline.style.OTransform="rotate("+angle+"rad)";
}

最后是不起作用的html:

<div class="line" onload="createLine2(this,100,100,0,0)">test</div><br>

和有效的html:

<div class="line" onclick="createLine2(this,100,100,0,0)">test</div><br>

我如何让它与 onload 一起工作,我搞砸了什么?

4

2 回答 2

2

div 标签上不允许 onload 事件。仅允许使用以下标签:

<body>, <frame>, <frameset>, <iframe>, <img>, <input type="image">, <link>, <script>, <style>

http://www.w3schools.com/jsref/event_onload.asp

于 2012-12-27T23:21:15.463 回答
0

如果您使用的是 jquery,我建议使用 jquery 就绪功能。

.ready( handler ) handler 一个在 DOM 准备好后执行的函数。

http://api.jquery.com/ready/

如果您使用纯 JavaScript,请使用 window.onload

window.onload = funcRef;

https://developer.mozilla.org/en-US/docs/DOM/window.onload

于 2012-12-27T23:17:46.613 回答