【jQuery】自作プラグインでクリックした後に呼び出される関数(コールバック)をつけたい

はじめてjQueryのプラグインを自作する事になり、

クリックした後に値を受け取って処理をしたい事があり、

どう実装したらよいか悩んでしまったので、

メモを残しておきます。

 

プラグインの基本的な作り方は検索するとたくさん出てきますので、

ここでは省略します。

 

このような形でコールバックを受け付けたい!

クリックした時に、受け取った値を表示させたいです。

$('<div/>').original({
    getcallback :function(str){
        console.log(str);
    }
});

 

ここでmethodを使うのかな?とだいぶ迷ってしまいました。

しかし、よく考えると引数で関数を渡している!ということにやっと気づき、

解決する事ができました。

 

クリックした後に値を戻す

やり方はとても簡単で、

クリック処理の時にoptionsで引き継いだ関数に値を渡すだけでOKでした。

$.fn.original = function( options ){

    $('a').on('click',function () {
       //クリックされた時の処理
       options.getcallback('クリックされました');
    });

    return this;
}

これでクリックされた時に、

コールバックとしてgetcallbackに値が渡されて、

consoleに「クリックされました」と表示する事ができます。