onkeypress寄存器使用jquery在动态创建的DOM上多次输入密钥

时间:2016-07-09 07:54:07

标签: javascript jquery

动态附加元素:

+'<div class="ckit-container__ft" data-ckit-footer>'
            +'<form action="" class="ckit-composer-form">'
                +'<div class="ckit-composer">'
                    +'<textarea data-ckit-composer-textarea placeholder="Add your reply" autocomplete="off" name="message" class="form-control ckit-composer__textarea"></textarea>'
                +'</div>'
            +'</form>'       
        +'</div>' 

我无法将keypress事件绑定到上面的textarea中,如下所示:

jQuery('[data-ckit-composer-textarea]').bind('keypress',function(){
    alert('hi');//does not invoked
});

所以我正在使用内联onkeypress事件,这确实有效:

<textarea data-ckit-composer-textarea placeholder="Add your reply" autocomplete="off" onkeypress="enterMe()" name="message".....><textarea>

enterMe()函数,用于多次注册按键

function enterMe(){

jQuery('[data-ckit-composer-textarea]').keypress(function(event){
    var keycode = (event.keyCode ? event.keyCode : event.which);

    if(keycode == '13'){
    alert('hi);//invokes many times
    }
});
}

如何为每个ENTER按键调用alert('hi)一次?我不断持续或快速按下它两次会导致它多次运行..还有什么原因可以解决这个问题,怎么解决呢?

0 个答案:

没有答案