如何使功能生活

Sca*_*ace 2 jquery

我有一个输入功能,这样我的表格将在输入时提交.唯一的问题是我的表单不存在,直到我点击一个将它附加到正文的按钮.有没有办法让我的$ .Enter功能实时?在此先感谢您的任何建议.

//submit function
function submit_chatbox(){
alert('yo');
}

$.Enter('#message',submit_chatbox);

jQuery.Enter = function(element,callback) {
    jQuery(element).bind('keypress', function(event) {
        var code=event.charCode || event.keyCode;
        if(code && code == 13) {// if enter is pressed
            callback(event.target);
            event.preventDefault(); //prevent browser from following the actual href
        };
    });
};
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 5

为了使它.live(),它看起来像这样:

jQuery.Enter = function(element,callback) {
    jQuery(element).live('keypress', function(event) {
        var code=event.charCode || event.keyCode;
        if(code && code == 13) {// if enter is pressed
            callback(event.target);
            event.preventDefault(); //prevent browser from following the actual href
        };
    });
};
Run Code Online (Sandbox Code Playgroud)

但是......你拥有的东西很适合插件,如下所示:

jQuery.fn.Enter = function(callback) {
    return this.live('keypress', function(event) {
        if(event.which == 13) {
            callback.call(this, event);
            event.preventDefault();
        };
    });
};
Run Code Online (Sandbox Code Playgroud)

然后你会这样称呼它:

$('#message').Enter(submit_chatbox);
Run Code Online (Sandbox Code Playgroud)