0

質問がありますが、自分では決められないようですので、こちらでお伺いします。質問は簡単です。インラインJavaScriptイベントを使用するのか、後で追加するのか。しかし、背景にある理論はそれほど単純ではありません。

HTMLを返すJSオブジェクトがあります。このオブジェクトを作成するときはいつでも、返されたHTMLが別のオブジェクトのHTMLに使用されます。したがって、イベントの追加は簡単ではありません。見る:

secret.object = function() {
  this.init = function() {
    var html = '<div>and lots of other HTML content</div>';
    return html;
  };
}

これは、このコード内で作成されるサンプルオブジェクトです。

for ( var i = 0; i < countObjects; i++) {
  var obj = arguments[0].content[i];
  generatedContent += spawnSecret(); /* The spawnSecret() is a method that initializes the object, and calls its init() method that returns the HTML.

}

その後、プロパティ「content」が「generatedContent」に設定される新しいオブジェクトを作成します。私が持っている秘密のオブジェクト内にイベントを追加する必要があります。そして、私のシステムはこのように構築されているので、これを回避する方法は2つしかありません。インラインイベントを使用するか、戻る代わりにメソッド呼び出しを使用してHTMLを構築します。

うまくいけば、これを理解するのはそれほど難しくありませんでした。

4

2 に答える 2

3

document.createElement() を使用して要素を作成し (ただし、要素をDOM に追加しなかった)、要素への参照を保持している場合は、インラインを使用しなくても、要素にテキスト コンテンツを入力し、イベント ハンドラーを関連付けることができます。イベント。

「秘密」を明らかにする準備ができたら、HTML タグとコンテンツのテキスト文字列にダンプするのではなく、それらを DOM に追加できます。

于 2009-11-17T14:05:47.093 に答える
0

私はそれが大きな違いを生んでいるとは思いませんonclick.JavaScriptイベントハンドラーなどを使用してイベントをレンダリングするだけでは、生成されたHTMLをドキュメントに追加するとすぐに評価されます。呼び出す必要はありませんattachEvent()

于 2009-11-17T13:30:58.710 に答える