2016-04-17 23 views
1

は、その 『cards.js』ファイルに、これらの行があります。jQuery(document).on( 'click.classname' .......)?私は<a href="http://materializecss.com/getting-started.html" rel="nofollow">MaterializeCSS</a>年代のJSファイルを介し読んでいた

$(document).on('click.card', '.card', function (e) { 
    //something 
}); 

が、私はjQueryの.on()機能に不慣れではないが、私はとカスタムイベントを使用したことがありません最初のパラメータ。私が理解できないのは、このカスタムイベントをどこにも定義していないようです(カスタムイベントの場合)、card.jsvelocity.min.jsファイルがjQuery以外のMaterializeCSSパッケージからロードされているため、何も検索していません。velocity.min.js何もありませんこのイベントに関連するカスタムイベントはこのパターンになっているようです:original eventclassnameしかし、cardを他のクラス名に置き換えようとしましたが、うまくいきませんでした。

カスタムイベントを定義する方法の詳細については調べましたが、役立つものは何も見つかりませんでした。

私の質問は、このカスタムイベントがどこに定義されているかを見つける方法です。

答えて

2

これは、カスタムイベントではありません、これはDOM event with a namespaceです:

click DOMイベントである、とcardイベントの名前空間。

同じ要素に複数のハンドラがある場合は、これを識別するのに役立ちます。手動$('...').trigger使用

$(document).off('click.card'); 

そして、あなたはそれらをトリガすることができます:あなただけのこのリスナーを削除(および他のすべてのclickのリスナーを残す)ことができ

$('.card').trigger('click.card'); // only triggers this specific click listener, not the others 

You can find out more about event namespaces here.

関連する問題

 関連する問題