0

RequireJS などのモジュール パターンを使用していて、モジュール A をモジュール B に送信するとします。

モジュール内で、テンプレート エンジンを使用して HTML を生成したいと考えていますが、質問のために、HTML 文字列を手動で作成するとします。その HTML 文字列で、モジュール「a」によって提供される関数を呼び出すボタンを作成したいと考えています。

しかし、私は明らかにできません:

define( [ "a.js" ], function( a ) {

    var html = "<button onclick='a.myfunction();'>Click me!</button>";

} );

それ、どうやったら出来るの?すべてモジュールベースであるため、グローバル関数を呼び出すことができない場合、JavaScript から "HTML-String" にクロスしますか?

define( [ "a.js" ], function( a ) {

    var html = "<button onclick='*** HERE I WANT TO CALL A FUNCTION PROVIDED WITH A***'>Click me!</button>";

} );
4

1 に答える 1

1

jQueryを使用してイベント委任を使用できます。

define(["a"], function (a) {

    var html = "<button>Click me!</button>";

    $("#buttonContainer").on("click", "button", a.myfunction);

});

ここで、buttonContainer は、ページに既に存在するテンプレートのコンテナーです。

于 2013-02-18T21:39:05.023 に答える