如何通过;事件“;对于对象文字,jquery?
我有这样一个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
$(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的函数,也不需要在匿名回调中调用该函数,您可以直接传递它,而无需调用。