2016-06-23 4 views
0

jqueryを使用して、cssを使用してdivの可視性を変更する関数を呼び出すことになっています。これは私がchangeViewが今まで呼び出されると、そうでないかどうかを確認するためにchangeView内の警告文を使用し、私のjQueryのjquery、CSS、イベントハンドラ

alert("Interactive on line"); 
    function changeView(page) 
     { 
       alert("Handler for click() called. "); 
       if(page === 'home) 
       { 
        $('#HomeTab'.css(display=='none')); 
       } 
     } 
    $('#HomeTab').on('click', { page:'home'}, changeView()); 

です。 changeView関数が呼び出される前の最初の警告が呼び出されるので、スクリプトは正しくリンクされます。 ありがとうございます!

+0

あり、タイプミスを修正単語のためにそれを私のフォルダに貼り付けました。それでも動作しません:/。外側のアラートは呼び出されていますが、内側のアラートには到達しません。 – Nithin

答えて

4

.on(events [, selector ] [, data ], handler)

(A)あなたは、関数名の後に()を削除し、ハンドラとしてそれを割り当てない、関数の呼び出し/呼び出している参照してください。

(B)dataオブジェクトがevent.data.KEY

(c)を使用してアクセスすることができる.css方法を使用しながらも、それが私はレーヨンのスニペットワードをコピーしjQueryElement.css(PROPERTY,VALUE)

function changeView(e) { 
 
    alert("Handler for click() called. "); 
 
    if (e.data.page === 'home') { 
 
    $('#HomeTab').css('display', 'none'); 
 
    //OR $('#HomeTab').hide(); 
 
    } 
 
} 
 
$('#HomeTab').on('click', { 
 
    page: 'home' 
 
}, changeView);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div id='HomeTab'>Home Tab</div>

+0

jqueryを使ってCSSを直接​​追加するのではなく、目的のスタイルでクラスを追加することをお勧めします:) – guradio

+2

@guradio、開発者の好みによります.. OPには_syntax_がほとんどありません。回答。私は '.css'メソッドを使っても問題はありませんが、やはり_Itは開発者の好みです_私は_classアプローチを選んだでしょう。ただ一つのスタイルよりも多くのスタイルを変更しなければならなかった...しかし、OPは' jQelem.hide () ' – Rayon

関連する問題