我想了解这段代码是如何工作的如何在jQuery函数处理函数处理工作
$("#imageGallery a").click(function(event){
event.preventDefault();
});
为什么函数处理程序(在这种情况下,“事件”)的执行?处理程序是不是应该被执行的var? 随意分享此
Thankss任何关键字/物品..
我想了解这段代码是如何工作的如何在jQuery函数处理函数处理工作
$("#imageGallery a").click(function(event){
event.preventDefault();
});
为什么函数处理程序(在这种情况下,“事件”)的执行?处理程序是不是应该被执行的var? 随意分享此
Thankss任何关键字/物品..
您正在使用它的.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上看到其他属性的列表。
感谢您的解释ifriend,我现在明白了。只是想知道,()中的计算机是如何识别JQuery事件对象或对象的? – meandsmile
它是'.click()'的文档的一部分。回调的调用者确定回调的参数。在这种情况下,回调的调用者是'.click()'jQuery代码,因此您可以在jQuery doc中查找'.click()'来查看它发送回调函数的参数。 – jfriend00
Ohh ok j,我明白了..谢谢 – meandsmile
event
不是事件处理程序,它是一个事件对象与属性和方法,包括preventDefault()
方法正被在你的例子中调用。
你事件处理是一个匿名函数function(event){ event.preventDefault(); }
在这种情况下,event
(传递给函数的第一个参数)包含所发生事件的对象(在这种情况下,单击事件)。该事件对象创建诸如preventDefault()
之类的函数,它告诉浏览器忽略来自该事件的任何未来动作,例如打开被点击的链接。
先试的权利将它添加一行:
$("#imageGallery a").click(function(event){
console.log(event);
event.preventDefault();
});
并看看你的控制台(按F12),并期待作为控制台选项卡,看看它的输出。您可以看到所有字段以及event
对象包含的所有其他字段。
要澄清的东西多一点,event
不是一个处理程序,您的整个功能是:
function(event){
event.preventDefault();
}
jQuery将然后通过浏览器事件对象这一功能,当事件被触发,你的代码将然后执行。
阅读它是如何工作的,http://api.jquery.com/event.preventdefault/ – Adil