jquery.balloon.jsにて動的に指定したオブジェクトのバルーンをhideBalloonしたい
jquery.balloon.jsを使用し,動的にshowBalloonとhideBalloonを設定したいと思っています.
showBalloonでは,以下のようにバルーン内に閉じるボタンを設定し,それをクリックすることでhideBalloonを呼び出すよう定義しています.
function f1(j_obj, text) { // j_objはjqueryオブジェクト
var id = j_obj.attr('id');
var btn = '<input type="button" value="閉じる" onclick="f2(' + id + ')"/>';
j_obj.showBalloon({
html : true,
contents : '<div>' + text + btn + '</div>'
});
}
function f2(obj) {
$(obj).hideBalloon();
};
しかし,showBalloonは正常に動作しますが,hideBolloonが上手く動作せず,閉じるボタンを押してもバルーンが消えません.
jquery.balloon.jsは,作成したバルーン情報を.data('balloon')に格納しているようですが,
どうやらf1()内で格納されたdata属性がf2()内では消えてしまっているようです.
(f1内ではj_obj.data() = {'balloon'}となっていますが,f2内では$(obj).data() = {}となってしまいます.f1のj_objとf2の$(obj)が同一であることは確認しています.)
なぜf2ではdata属性が取得できないのでしょうか.data属性にスコープは無いと思うのですが…….また,閉じるボタンを押した際にhideBalloonするにはどうすればよいでしょうか.
よろしくお願いいたします.