0

Enterボタンをクリックしたことを検出する関数enterkeyを作成しました。問題は、jquery によって作成された入力内にコメントを追加するために、この関数をバインドする必要があることです。どうやってやるの?ありがとうございました!:)

$.fn.enterKey = function (fnc) {
    return this.each(function () {
        $(this).keypress(function (ev) {
            var keycode = (ev.keyCode ? ev.keyCode : ev.which);
            if (keycode == '13') {
                fnc.call(this, ev);
            }
        })
    })
}

var add_comment = { // add comment
    urlRemove : CI_ROOT + 'add_comment/',
    run : function() {
        add_comment.share('.comment');
    },
    share : function(obj) {
        $(obj).enterKey(function() { // I have to bind this function
            var comment = $(this);
            if (comment.val() != "") {
                     $.ajax({
                        type: "POST",
                        url:  add_comment.urlRemove,
                        data: "text=" + comment.val() + "&post_id=" + comment.attr('id'),
                        success: function(html) {
                            comment.val('');
                        },
                        error: function(){
                            alert('Error on ajax call');
                        }
                    }); 

            } else {
                return false;
            }
        });
    }

};
4

0 に答える 0