3

我正在使用Mootools并向链接添加点击事件。我已经向一个事件添加了一个函数:

$('addCallRoute').addEvent('click', addCallRoute); // Add button

该函数包含以下内容:

function addCallRoute(e) {
    console.log(e);
}

触发事件的函数(没有实际点击)

$('addCallRoute').fireEvent('click');

问题: 当我物理上单击链接时,e已定义。但是当我以编程方式触发事件时,eundefined。为什么?

4

1 回答 1

4

因为您实际上并没有在物理上触发一个动作,而是远程触发它。这就是它的工作原理。

event通常包含有关触发操作的元素的所有类型的信息。

event在尝试对其使用任何方法之前,请始终检查是否已定义。或者这样做:

link.fireEvent('click', {
    stop: function(){}
});
于 2012-09-24T20:23:38.890 回答