2016-03-21 23 views
0

このマイコード。Jquery:イベントの外部変数を取得する方法

/** 
    Sticky Header 
    **/ 
    var $h_height; 

    $(".site-header").sticky({ 
     topSpacing:0, 
    }); 
    $('.site-header').on('sticky-start', function() { 
     $h_height = $(this).outerHeight(); 
    }); 
    $('.site-header').on('sticky-end', function() { $(this).parent().css('height', 'auto'); }); 

    console.log($h_height); 

変数($ h_height)を関数から外したいと思います。 console.logを使って表示しました。それはあなたがにconsole.logを使用して値を印刷したい場合はその後、我々はいくつかのイベントのトリガの後にその値を設定している覚えて

var a_href; 
jQuery(function(){ 
    $('sth a').on('click', function(e){ 
     a_href = $(this).attr('href'); 

      console.log(a_href); 
     //output is href value of clicked link 

     e.preventDefault(); 
    } 
}) 

のjQuery

でグローバル変数を作成するには、未定義の

+0

'はconsole.log($のh_height)を移動;'ハンドラ内。 [こちら](http://stackoverflow.com/questions/36100698/how-to-add-value-to-an-array-on-click-event)投稿を確認してください – Tushar

+0

私はそれが外で使用することができますようにしたいと思います関数。 –

+1

よく技術的に、それは機能の外で使用することができます。ちょうどその前にconsole.loggingしています。 setTimeout(console.log($ h_height)、1000)を入力した場合は、あなたはそれがあなたがページの時間を与えてくれることがわかるでしょう – KyleK

答えて

1

を示しました。だから、それはデフォルトで定義されていないとして、デフォルトでその値は未定義することができ、その値はjQueryの

でグローバル変数の値をトリガする方法を示すために私の場合

jQueryのフィドルでクリックイベントなどの特定のイベントの後に設定されます

//Global Variable 
 
var a_href; 
 

 
//Global Variable Value Triggered After Button1 Click 
 
$('#bt').on('click', function(e){ 
 
     a_href = $("#tx").val(); 
 

 
    alert(a_href); 
 
      //console.log(a_href); 
 
     //output is href value of clicked link 
 

 
     e.preventDefault(); 
 
    }); 
 
    
 
    //Global Variable Value Triggered After Button2 Click 
 
    $('#bt1').on('click', function(e){ 
 
     a_href = $("#tx1").val(); 
 

 
     alert(a_href); 
 
      //console.log(a_href); 
 
     //output is href value of clicked link 
 

 
     e.preventDefault(); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value="hh" id="tx" /> 
 
<input type="button" value="Button1" id="bt" /> 
 
<br/> 
 
<br/> 
 
<input type="text" value="hh1" id="tx1" /> 
 

 
<input type="button" value="Button2" id="bt1" />

+0

@JayzanarakProgrammerLosoはグローバル変数をグローバルスコープで宣言しようとしています –

+0

私はあなたの言うことをやります。しかし、それは動作しませんでした。私はいくつかの変数をハンドラの外で使用できるようにしたいと思います。 $( '。site-header')。on( 'sticky-start'、function(){ $ h_height = $(this).outerHeight(); }); console.log($ h_height); –

+0

@JayzanarakProgrammerLoso私は自分の答えにフィドルを追加するつもりです。jqueryのグローバル変数のように動作します。参照を取得できます。 –

関連する問題