[英]How jquery define click function for get parameter inside anonymous function?
我不太了解javascript语法,我的问题是:
jQuery如何为匿名函数中的get参数定义click函数?
案子:
$("a").click(function(event) {
alert(event.type);
});
在C中,应定义函数:
void click(fn,event){
}
在javascript中,对我来说,她将其定义为-(但在哪里定义了事件?):
click (fn){
}
请在这里给我解释点击功能代码源的jQuery语法。
谢谢,约瑟夫
如果您只想查找event
对象在哪里传递给您的处理程序,那将是jQuery-1.5.2可再分发源代码的 2568 行 (或实际的,不受污染的源文件的438行 ):
var ret = handleObj.handler.apply( this, args );
在上面的代码行中, handler
是您的匿名函数,而args
是一个数组,其第一个元素是事件对象。 jQuery使用JavaScript Function对象的apply
方法调用处理程序并传递参数
当涉及到添加和处理事件的全部序列时,jQuery源代码非常复杂,因此,除非您要逐行解释数百行代码,否则建议将问题改写为较小的范围(例如,可以创建您想了解的场景的玩具演示)。
也许这会有所帮助?
dosomething(function(message) {
alert(message);
});
function dosomething(fn) {
fn("Hello!");
}
jQuery的第一部分是选择器$("a")
,它选择并返回从DOM中选择的对象。 在这种情况下,它将返回页面上所有锚标记对象的列表。
然后,您将.click()方法链接到该方法,jQuery将事件侦听器附加到所有锚标记。 附加事件侦听器后,它或多或少相当于
<a href='..' onclick='someFunction(event)'>some link</a>
...将事件对象传递给函数。
例如,与此进行比较:
<a onclick='blah(event)'>click</a>
<script type='text/javascript'>
function blah(e) {
alert (e.type);
}
</script>
如果单击它,我将在警报中看到“单击”。 原则上,jQuery在做同样的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.