JavaScript 事件中的未定义参数

Undefined parameter in a javascript event

本文关键字:未定义 参数 事件 JavaScript      更新时间:2023-09-26

当我单击锚点时,我发现date没有定义。我应该如何确保参数在传递给onclick的自调用函数的范围内?

var date = today; // today is well-defined at this point.
html += '<a onclick="(function(obj, myDate) { '
        return function() { '
           obj.render(myDate.setMonth(myDate.getMonth() - 1));  '
        };  '
      })(this, date);">&lt;</a>'

编辑:这个HTML有效吗?

today定义明确。此代码片段位于此函数中:

Calendar.prototype.render = function(date) {
}

引发事件时,它拥有的唯一上下文是窗口上下文。

您必须设置全局 var,以便在使用 on<event> 属性时在事件回调代码中可用。