使用结构 JS 中的事件处理程序 (.on) 将数据发送到函数



正如标题所解释的那样,我正在尝试通过事件处理程序将数据发送到函数。

我尝试了以下方法:

canvas.on("mouse:wheel",{name:"spin"}, constructSpin);
function constructSpin(e){
console.log(e.data.name);
}

可悲的是,这不起作用:(

有没有办法使用事件处理程序将数据发送到函数?

注意:我在结构文档中找到了这个:

on(eventName, handler( → {Self}

所以看起来没有关于建设的数据

如果您希望在事件上传递一些自定义数据,则应按以下方式构造和调用constructSpin函数mouse:wheel

canvas.on("mouse:wheel", function(e) {
constructSpin(e, { name: "spin" });
});
function constructSpin(event, data) {
console.log(data.name);
}

结构事件是合成的。 您在画布元素上旋转轮子,并返回 2 个事件,一个在画布级别,一个在对象级别。

如果spin是画布上的特定对象,或者是对象的 name 属性,则可以拥有:

canvas.on("mouse:wheel", function(opt) {
// opt.e => real event
// opt.target => object where you spinned over
// opt.target.name maybe is what are you looking for
});

如果我的假设是错误的,你可以做另一个答案中已经建议的事情:

canvas.on("mouse:wheel", function(opt) {
// opt.e => real event
// opt.target => object where you spinned over
opt.name = 'spin'
yourFunction(opt);
});

最新更新