JavaScript的onload没有工作,但的onclick正在CSS拉绳

问题描述:

可能重复:
How to add onload event to a div?JavaScript的onload没有工作,但的onclick正在CSS拉绳

我试图绘制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工作,并且我搞乱了什么?

+9

的DIV没有加载事件 – Musa

+0

的“分区的onload”一个简单的谷歌搜索会给你答案。 –

+0

@musa那么我怎么能得到它在该分区创建行onload – kqlambert

onload事件是不允许的div标签。它仅可以在下列标签:

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

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

如果你正在使用jquery,我建议使用jquery ready函数。

.ready(handler)handler DOM在准备就绪后执行的函数。

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

如果使用普通的JavaScript,使用在window.onload

的window.onload =函数引用;

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