0

on() を使用して非表示機能を実装する方法を教えてください。私はもう試した:

    $(document).on('hide','selector');
    $(document).on('selector', function(){
        $(this).hide();
    });

on(); を使用してそのような関数を正しく適用する方法を知りたいです。

4

2 に答える 2

2

この.on関数は、イベントを何かに関連付けるために使用されます。何に配線するかさえ教えていません。いつ要素を非表示にしたいですか? ボタンがクリックされたときに非表示にしたいふりをしましょう。

HTML:

<div id="a">This will hide</div>
<button id="b">Hide!</button>​

jQuery:

$(document).on('click', '#b', function() {
    $('#a').hide();
});​

イベントなどによってトリガーされずに要素を非表示にしようとしている場合は、呼び出すだけ$('#a').hide();で要素が非表示になります。もちろん、HTML で動作するようにセレクターを変更してください。

フィドル: http://jsfiddle.net/gromer/Zq756/

編集:

面白い。動的に追加される要素を制御できますか? もしそうなら、追加時に非表示にしたい要素にクラスを追加します。何かのようなもの:

<div class="initial-hide">This div should be hidden when it's loaded.</div>

次に、css に以下を追加します。

.initial-hide {
    dislay: none;
}

その後、要素がクラスでロードされるたびに、initial-hide非表示になります。この更新された Fiddle を参照してください: http://jsfiddle.net/gromer/Zq756/1/。[追加] ボタンは、追加されたクラスがどのように役立つかを示します。

于 2012-10-18T16:00:09.790 に答える
1

on hideJavaScript でキャプチャするon showイベントはありません。あなたがすることは、要素の非表示と表示をキャプチャし、それにカスタム関数を添付することです。

$('element').hide(delay, onHide);

function onHide(){
    //do whatever
}

$('element').show(delay, onShow);

function onShow(){
    //do whatever
}
于 2012-10-18T15:58:42.593 に答える