如何通过;事件“;对于对象文字,jquery?

如何通过;事件“;对于对象文字,jquery?,jquery,Jquery,我有这样一个jquery脚本: $(document).on('click', '.someClass', function(e){ e.preventDefault(); // Some code... }); 我想将其改写为: blah = { init: function() { e.preventDefault(); // Some code... } } $(document).on('click', '.someCl

我有这样一个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变量传递给对象?

只需尝试:

blah = {
    init: function(e) {
        e.preventDefault();
        // Some code...
    }
}
试一下:

blah = {
    init: function(e) {
        e.preventDefault();
        // Some code...
    }
}

您需要将
init
作为一个函数:

blah = {
    init: function(e) {
        e.preventDefault();
        // Some code...
    }     
}

您需要将
init
作为一个函数:

blah = {
    init: function(e) {
        e.preventDefault();
        // Some code...
    }     
}

若要将对象文字的函数用作事件处理程序的回调,必须将文字函数的参数设置为事件回调所需的参数(如果希望访问这些参数)

像这样:

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);

若要将对象文字的函数用作事件处理程序的回调,必须将文字函数的参数设置为事件回调所需的参数(如果希望访问这些参数)

像这样:

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);

你的对象文字完全被弄乱了。只需使用普通函数。
init:function(e){…}
我什么时候应该使用对象文本,什么时候应该使用普通函数?你的对象文本完全搞乱了。只使用普通函数。
init:function(e){…}
什么时候应该使用对象文本,什么时候应该使用普通函数?调用它时是否需要执行类似blah.init(e)的操作?不,只需像使用jQuery设置click事件一样将函数作为回调函数,它将为您将事件传递给函数。请看,对于普通Javascript也是一样的-(不带jQuery)调用它时,我是否还需要执行类似blah.init(e)的操作?不,只需像调用一样将函数作为回调函数进行调用,因为您使用jQuery设置单击事件,它会为您将事件传递给您的函数。请看,对于纯Javascript也是一样的-(没有jQuery)您的代码实际上是不正确的。您没有将
e
作为参数传递给literal的函数,也不需要在匿名回调中调用该函数,您可以直接传递它而不调用。您的代码实际上是不正确的。您没有将
e
作为参数传递给literal的函数,也不需要在匿名回调中调用该函数,您可以直接传递它,而无需调用。