请问大家用RequireJS做模块化编程的时候,对下面这种点击事件绑定的函数是怎么处理的?

我目前想到的办法是主动在模块内暴露一个对象到全局变量中,像这样:

但是感觉这种办法不太好,会污染全局变量而且有些违背RequireJS的初衷,但不知道怎么做更好。
求教~
请问大家用RequireJS做模块化编程的时候,对下面这种点击事件绑定的函数是怎么处理的?

我目前想到的办法是主动在模块内暴露一个对象到全局变量中,像这样:

但是感觉这种办法不太好,会污染全局变量而且有些违背RequireJS的初衷,但不知道怎么做更好。
求教~
1
7anshuai Jun 8, 2015 尽量不使用 HTML 元素的事件处理程序属性
|
5
DIYgod OP @loethen 当时的代码已经找不到了,我简单写了个示范,就是像下面这样:
define(function() { var h3 = document.getElementsByTagName('h3')[0]; h3.addEventListener('click', typeClick(h3)); function typeClick(ele) { } }); 这样的话在当前模块里可以执行h3.click(),但是在实际页面中点击h3元素并不能执行typeClick函数。 |
7
7anshuai Jun 8, 2015 h3.addEventListener('click', typeClick(h3)); 绑定的方式有错误啊,应该是 h3.addEventListener('click', typeClick);
|
9
DIYgod OP |
10
emric Jun 8, 2015 xy问题
|