传递参数,jQuery

我的文档准备好了以下代码:

$('a').click(function(e) { e.preventDefault(); var $this = $(this); var horizontalPadding = 30; var verticalPadding = 30; $('').dialog({ title: ($this.attr('title')) ? $this.attr('title') : 'External Site', autoOpen: true, width: 800, height: 500, modal: true, resizable: true, autoResize: true, overlay: { opacity: 0.5, background: "black" } }).width(800 - horizontalPadding).height(500 - verticalPadding); }); 

我想这样做:

 $('a').click(aFunction()) 

但是如何传递e参数?

 function aFunction(e) { e.preventDefault(); var $this = $(this); var horizontalPadding = 30; var verticalPadding = 30; $('').dialog({ title: ($this.attr('title')) ? $this.attr('title') : 'External Site', autoOpen: true, width: 800, height: 500, modal: true, resizable: true, autoResize: true, overlay: { opacity: 0.5, background: "black" } }).width(800 - horizontalPadding).height(500 - verticalPadding); } $('a').click(aFunction); 

jQuery会将’e’传递给你提供的函数 – 但你必须在没有括号的情况下传递它,所以你要传递一个函数对象,而不是函数调用的结果。

做这个:

 function aFunction(e) { ... } $('a').click(aFunction); 

事件参数自动传递。

 $('a').click(); 

要么

 $('a').trigger('click');