2014-01-31 57 views
0

jQuery的功能好了,所以我建立的一個看起來像這樣的功能...調用上點擊

function aboutContent(){ 
    var about = $(this).data('about'), 
     img = $(this).data('image'); 
    $('#background').css('background-image','url('+img+')'); 
    $('#about-content article').html(about); 
    $('#first-name').html(''); 
    $('#last-name').html(''); 
} 

而且我想用一個點擊功能,它看起來像這樣稱呼它?

$('.about').click('click', function() {}); 

我該如何去點擊調用aboutContent()函數?

謝謝!

+0

'$( '約 ')。點擊(' 點擊',aboutContent)'? – 2014-01-31 05:38:57

回答

0

簡單的方法是:

$('.about').click(aboutContent);

+0

這工作,感謝您的幫助! – jwinton

0

傳遞函數引用的回調,而不是一個匿名函數

$('.about').click('click',aboutContent); 
0
function aboutContent(element){ 
    var about = $(element).data('about'), 
     img = $(element).data('image'); 
    $('#background').css('background-image','url('+img+')'); 
    $('#about-content article').html(about); 
    $('#first-name').html(''); 
    $('#last-name').html(''); 
} 


$('.about').click(function() { aboutContent(this); }); 
// alternate ways 
// $('.about').click(aboutContent(this)); 
// $('.about').on('click', aboutContent(this)); // Using on event types 
1

你可以試試這個,

function aboutContent(dis){ 
    var about = $(dis).data('about'), 
    img = $(dis).data('image'); 
    $('#background').css('background-image','url('+img+')'); 
    $('#about-content article').html(about); 
    $('#first-name').html(''); 
    $('#last-name').html(''); 
} 
$('.about').click(function() { 
    aboutContent(this); 
}); 
0

有不同的方法來調用自定義函數

其中之一

$('.about').click(function() { 
    aboutContent($(this)); 
}); 

function aboutContent(_this){ 

    var about = _this.data('about'), 
    img = _this.data('image'); 
    $('#background').css('background-image','url('+img+')'); 
    $('#about-content article').html(about); 
    $('#first-name').html(''); 
    $('#last-name').html(''); 
} 
0

這是preety簡單。

在簡單的JavaScript中,您可以在function(){....}中編寫代碼。以同樣的方式,你可以在JQuery中實現相同的方式。只有語法已被更改。請參見下面的代碼

$('.about').click('click', function() { 
aboutContent(); 
}); 
0

可以使用回調函數是這樣的:

$('.about').click(aboutContent); 

注:$( '有關。')。 click('click',aboutContent);是錯誤的做法。

但是你使用on method這樣的:

$('.about').on('click', aboutContent); 
0

用你這樣的代碼,請參考以下鏈接與此相關的

function aboutContent(){ 
    var about = $(this).data('about'), 
     img = $(this).data('image'); 
    $('#background').css('background-image','url('+img+')'); 
    $('#about-content article').html(about); 
    $('#first-name').html(''); 
    $('#last-name').html(''); 
} 

$('.about').click(aboutContent(this)); 
}) 

您的詳細信息,

Run jQuery function onclick

0

試試這個

$('.about').on('click', aboutContent()); 

瞭解on方法here