添加事件侦听器时,如何将数据传递给函数



这是我的代码:

$(document).ready(function(){
dropbox.addEventListener("dragenter", somethingHappens, false);
});
function somethingHappens(evt) {
    // code here
}

在附加事件侦听器时,如何将数据传递给somethingHappens()函数?这可能吗?我在寻找我能做的事情:

function somethingHappens(evt,dataItem1,dataItem2) {
    // code here, I need to use evt here
}

如果你不介意使用匿名函数作为处理程序,你可以用老式的方法来做:

var data = { foo: 'bar' };
dropbox.addEventListener("dragenter", function(evt) {
    somethingHappens.call(this, evt, data);
}, false);
function somethingHappens(evt, data) {
    console.log(data);
}

但我也很确定你可以使用jQuery事件来实现这一点:

$(dropbox).bind( 'dragenter', { foo: 'bar' }, somethingHappens );
function somethingHappens(evt) {
    console.log(evt.data);
}

您可以使用jQuery的绑定方法:-

$(document).ready(function(){
$('#yourdropboxid').bind("dragenter", { foo: 'bar' }, somethingHappens);
});
function somethingHappens(event) {
   alert(event.data.foo); // alerts 'bar'
}

相关内容

  • 没有找到相关文章

最新更新