2016-06-01 12 views
0

clickAssistanceToggle関数をjQueryのクリックイベントに渡すために何が必要なのか不思議ですが、ここではいくつかの解答を見てきました。この。クリックイベントjQueryに関数を渡す

これまでのところ、私はこのコードを持っている:

function clickAssistanceToggle() { 
    $('.car-hub-header-help, #assistance-overlay, .assistance-close-btn').click(function(){ 
     $('#new-car-hub, #new-car-offer').toggleClass('assistance-active'); 
     $('#pulman-assistance').toggleClass('pulman-assistance-active').css("top", fixedPositionCalculator); 
     $('#assistance-overlay').toggleClass('assistance-overlay-active'); 
     $('#new-car').toggleClass('assistance-active-body'); 
     $('#new-car-offer-cta').toggleClass('assistance-active-cta'); 
    }); 
    }; 
    $('.new-car-general-enquiry-btn').click(function(){ 
    clickAssistanceToggle(); 
    }); 

をあなたはそれがパラメータとして渡されていないので、このように実行文句を言わない機能を見ることができるように、私はそうのような機能を渡して試してみました

$('.new-car-general-enquiry-btn').click(function(clickAssistanceToggle){ 
    clickAssistanceToggle(); 
    }); 

これはうまくいかないようですが、その機能をクリックイベントにどのように渡すことができますか?おかげ

+0

明らかに、あなたのclickAssistanceToggle関数はそれ自体、他の要素の束にクリックハンドラを割り当てています。意図した目的を説明できますか? – lud1977

+1

コードが正常に機能していませんか?最初のブロックのコードには間違いがありません。唯一の問題は、すぐに目に見える効果がないことです。つまり、ユーザが '.new-car-general-inquiry-btn'をクリックすると、接続された関数が呼び出され、別のクリックハンドラが他の要素に追加されます。 toggleClassメソッドは、ユーザがこれらの要素のうちの1つをクリックしたときにのみ実行されます。.car-hub-header-help、#assist-overlay、.asistance-close-btn'これはもちろん、2番目のブロックコードは間違っています。 – lud1977

+0

本当にありがとう、私はちょっと混乱していると思うし、関数が呼び出されていないためだと思った。私は、クリック機能内にクリックイベントが含まれている関数を呼び出していることを認識していませんでした。 –

答えて

3

あなたはこのように呼び出すことができ、

$('.new-car-general-enquiry-btn').click(clickAssistanceToggle); 

それとも

$('.new-car-general-enquiry-btn').click(function(){ 
    clickAssistanceToggle(); 
    }); 

も.new車・汎用問い合わせ-BTN要素がでレンダリングされていない、という可能性がありますイベントをバインドする時間。もしそうなら、あなたはdom readyイベントの中にコードをラップする必要があります。

$(document).ready(function() { 
    $('.new-car-general-enquiry-btn').click(function() { 
    clickAssistanceToggle(); 
    }); 
}); 
0

代わりの

$('.new-car-general-enquiry-btn').click(function(clickAssistanceToggle){ 
    clickAssistanceToggle(); 
    }); 

あなたは基本的にあなたがクリックが.new-car-general-enquiry-btn要素上で実行されたときに実行される関数を渡す必要があります

$('.new-car-general-enquiry-btn').click(clickAssistanceToggle); 

を使用する必要があります。

関連する問題