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

onloadイベントはdivタグでは許可されていません。次のタグでのみ許可されます。

<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を使用している場合は、jqueryready関数を使用することをお勧めします。

.ready(handler)handlerDOMの準備ができた後に実行する関数。

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 に答える