我有一个像这样的jquery脚本:
$(document).on('click', '.someClass', function(e){
e.preventDefault();
// Some code...
});
我想把它重写为:
blah = {
init: function() {
e.preventDefault();
// Some code...
}
}
$(document).on('click', '.someClass', blah.init);
但是如何将e变量传递给对象?
答案 0 :(得分:2)
您需要将init
作为函数:
blah = {
init: function(e) {
e.preventDefault();
// Some code...
}
}
答案 1 :(得分:1)
试试:
blah = {
init: function(e) {
e.preventDefault();
// Some code...
}
}
答案 2 :(得分:1)
要使用对象文字的函数作为事件处理程序的回调,您必须将文字函数的参数设置为等于事件回调所需的参数,如果您希望访问它们。
像这样:
var blah = {
init: function(e) { // we want to access the event object, so we set it as a function param
console.log(e);
alert('bye');
}
}
$(document).on('click', blah.init);