2016-10-04 9 views
0

UIKitには、いくつかのカスタムイベントが発生します。たとえば、タブを切り替えると、change.uk.tabイベントが発生します(https://getuikit.com/docs/tab.html)。問題は、JQueryの "$"にUIKitをプレフィックスとして付けた場合のみ、イベントを読み取ることができるということです。これは、UIKitのjquery $が別のオブジェクトを返すかのようです。カスタムUIKitイベントを読み取ることができません

したがって、たとえば、これは動作します:ここでは

UIkit.$('#tabs').on('change.uk.tab', function(e, active, previous) { 
    console.log("uk tab changed: " + active.context.id); 
}); 

は、HTMLです:しかし

<ul id="tabs" class="uk-tab" data-uk-tab > 
    <li id="tabPage1" class="uk-active"><a href="">tabPage1</a></li> 
    <li id="tabPage2"><a href="">tabPage2</a></li> 
    <li id="tabPage3"><a href="">tabPage3</a></li> 
</ul> 

、私は削除した場合、 "UIKitのを。"

$('#tabs').on('change.uk.tab', function(e, active, previous) { 
    console.log("uk tab changed: " + active.context.id); 
}); 

"change.uk.tab"イベントは表示されません。 (つまり、 "console.log"行は決して実行されません)なぜこれはですか? 「UiKit。$」と「$」の違いは何ですか?

答えて

2

あなたが見ることができるようにある:

doc:!

`< - >

<のdivのid = "MYELEMENT" データ - モーダル、スイッチャーか、ドロップダウン内の要素-uk-check-display> ... </div>

<スクリプト>

01 。

$( "#1 MYELEMENT")に( 'display.uk.check'、関数(){// カスタムコードは、高さを調節するなどの番組で })。 < /スクリプト> `

あなたは。$( '#タブ')のUIKitを避け、直接$( '#タブ')を使用することができます。あなたはUIKitのが$以上のjQueryへの参照を含むオブジェクトであるコンソールで

あなたは見ることができます。

スニペット:

$(function() { 
 
    console.log('UIkit.$.fn.jquery: ' + UIkit.$.fn.jquery); 
 
    console.log('$.fn.jquery: ' + $.fn.jquery); 
 
    $('#tabs').on('change.uk.tab', function(e, active, previous) { 
 
    console.log("uk tab changed: " + active.context.id); 
 
    }); 
 
});
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
 

 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.1/css/uikit.min.css"> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.1/js/uikit.min.js"></script> 
 

 

 
<ul id="tabs" class="uk-tab" data-uk-tab > 
 
    <li id="tabPage1" class="uk-active"><a href="">tabPage1</a></li> 
 
    <li id="tabPage2"><a href="">tabPage2</a></li> 
 
    <li id="tabPage3"><a href="">tabPage3</a></li> 
 
</ul>

+1

ああ、そう、これは作業を行います。私は私の誤りを見る。私は "

関連する問題