1

写真をアップロードするときにサイトにdivを追加するスクリプトがあります。このdivが追加されたときに関数を呼び出さないようにしました。これを試しましたが、機能しません。

var divImg = document.createElement("div");
divImg.id = "divimg";
newImg.setAttribute('onload','urediBtnx(this)');
divImg.innerHTML = '<a href=""><img src="/imago/images/btnx.gif" class="btnx"></a>';

この関数を呼び出す必要があります。

function urediBtnx(dv){
    alert("blabla");
}

このようにすると、関数が呼び出されますが、imgではなくdivを取得する必要があります。

divImg.innerHTML = '<a href=""><img onload="urediBtnx(this)" src="/imago/images/btnx.gif" class="btnx"></a>';
4

3 に答える 3

1

ええと、彼らはロードされないので、はありません<div>onloadドキュメントが読み込まれ、画像が読み込まれ、iframeが読み込まれます-divはまさにそうです。目的を達成するには、divをドキュメントに挿入するためurediBtnx()に呼び出すのと同じコードからすぐに呼び出す必要があります。appendChild()その時点で、divは取得するのと同じように「ロード」されるためです。(後でdivの内容を変更する場合は、そのコードから関数を再度呼び出す必要がある場合があります...)

于 2012-04-23T01:17:49.590 に答える
0

Divにはonloadイベントはありません。それらは、、、、、、、または<body>でのみ使用できます。<frame><frameset><iframe><img><link><script>

DOMに追加された後、関数を呼び出すのが方法です。

parent.appendChild(divImg);
urediBtnx();

あなたがjQueryライブラリである場合、コールバックの可能性を得ることができます

$("#parent").append($(divImg), function() {
    urediBtnx();
});
于 2012-04-23T01:17:51.040 に答える
0

onloadイベントハンドラーはbody、img、script、iframeなどの要素にアタッチできますが、divにはアタッチできません。

あなたのシナリオでは、divはあなたのイメージの祖父母です。イメージの負荷を維持してから、this.parentNode.parentNodeを使用してdivに到達できます。

于 2012-04-23T01:19:04.367 に答える