我想了解这段代码是如何运作的
$("#imageGallery a").click(function(event){
event.preventDefault();
});
为什么执行函数处理程序(在本例中为" event")?难道该处理程序应该是一些不执行的var吗? 随时分享关于此
的任何关键字/文章Thankss ..
答案 0 :(得分:0)
event
不是事件处理程序,它是一个带有属性和方法的事件对象,包括正在调用的preventDefault()
方法你的榜样。
您的事件处理程序是一个匿名函数function(event){ event.preventDefault(); }
答案 1 :(得分:0)
在这种情况下,event
(传递给函数的第一个参数)包含发生事件的对象(在本例中为click事件)。该事件对象创建preventDefault()
等函数,告诉浏览器忽略此事件的任何未来操作,例如打开被点击的链接。
尝试在它之前添加一行:
$("#imageGallery a").click(function(event){
console.log(event);
event.preventDefault();
});
然后查看您的控制台(按F12键),然后查看控制台选项卡,看看它输出的内容。您可以查看所有字段以及event
对象包含的所有其他内容。
为了澄清一点,event
不是处理程序,你的整个功能是:
function(event){
event.preventDefault();
}
当事件被触发时,jQuery会将浏览器事件对象传递给此函数,然后您的代码将会执行。
答案 2 :(得分:0)
使用它时的.click()
方法需要一个参数,它是一个回调函数。
$("#imageGallery a").click(myCallback);
function myCallback(e) {
// the argument e which you can name anything you want is a
// jQuery event object
}
该回调函数将传递一个参数,该参数是一个jQuery事件对象。我已经编写了上面的代码,使用单独定义的函数进行回调以用于说明目的。但是,该函数也可以内联定义为内联匿名函数,如下所示:
$("#imageGallery a").click(function(e) {
// the argument e is a jQuery event object
});
jQuery事件对象具有属性和方法。 .preventDefault()
是该对象的方法之一。您可以在对象here in the jQuery doc上看到其他属性的列表。