Javascript闭包(我认为)
我有一段我正在使用的代码,是以前的开发人员传给我的。我只是想更好地理解它,而不是单纯地使用它。代码如下:Javascript闭包(我认为),javascript,closures,Javascript,Closures,我有一段我正在使用的代码,是以前的开发人员传给我的。我只是想更好地理解它,而不是单纯地使用它。代码如下: slides.paginator.click(function (e) { e.preventDefault(); interval.stop(); switchSlide($(this).index()); interval.start(); }); 我不理解的部分是通过这个匿名函数传递的参数e。我以前见过这种情况,我认为这与闭包有关,但我也不确定。有谁能
slides.paginator.click(function (e) {
e.preventDefault();
interval.stop();
switchSlide($(this).index());
interval.start();
});
我不理解的部分是通过这个匿名函数传递的参数e
。我以前见过这种情况,我认为这与闭包有关,但我也不确定。有谁能给我一点关于这个参数e
是如何工作的?我在其他情况下也看到过,比如jQuery的AJAX方法
即使给我指出一篇文章的正确方向也会有很大帮助。谢谢 “e”来自“event”,请检查jquery。单击()文档
函数(e){}替换“处理程序(eventObject)”这是click事件本身一个非常一般的解释(忽略这是一个事件处理程序的事实):将函数传递到
slides.paginator中。单击函数。当发生单击时,slides.paginator.click将调用您的函数。e
只是您传入的函数中的参数,slides.paginator.click
稍后将提供适当的参数。“…我如何知道click处理程序将提供这样的事件”。通过阅读API文档。在中,您将看到:.click(handler(eventObject))
这是对.click()
方法签名的描述。它表明它希望接收一个函数,调用时eventObject将传递给该函数。那么,我如何知道我可以引用的eventObject中传递的是什么呢?我注意到e.preventDefault()正在调用code>,我知道这会阻止默认行为的发生。现在我想起来了,可能就这样了。cehck查看eventObject的文档您可以看到可以调用它的值和方法,您可以使用浏览器检查器来查看e对象以更好地理解它。EP,刚才也遇到了这个问题。你的答案正是我想要的。谢谢你的帮助!