如何从模板调用“依赖注入”JavaScript函数?

时间:2013-02-18 21:24:55

标签: javascript html

假设我使用的是模块模式,例如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>";

} );

1 个答案:

答案 0 :(得分:1)

您可以通过jQuery

使用事件委派
define(["a"], function (a) {

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

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

});

其中buttonContainer是页面上已存在的模板容器。