2010-09-18 5 views
1

У меня есть следующий код в моем документе готов:передачи й параметр, JQuery

$('a').click(function(e) { 
     e.preventDefault(); 
     var $this = $(this); 
     var horizontalPadding = 30; 
     var verticalPadding = 30; 
     $('<iframe id="externalSite" class="externalSite" src="' + this.href + '" />').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()) 

но как передать параметр е?

ответ

1
function aFunction(e) { 
    e.preventDefault(); 
    var $this = $(this); 
    var horizontalPadding = 30; 
    var verticalPadding = 30; 
    $('<iframe id="externalSite" class="externalSite" src="' + this.href + '" />').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 будет проходить «е» функции вы предоставляете, - но вы должны пройти его без скобок, так что вы передаете объект функции, а не результат вызова функции.

1

ли это:

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

Аргумент событие автоматически передается.

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

или

$('a').trigger('click'); 
Смежные вопросы