附加元素后不能调用元素事件

时间:2015-09-25 08:58:03

标签: jquery

使用append()添加元素时遇到问题。添加后,我想处理此元素的事件按键,但它不起作用。这是我的代码:

$(...).append("<input class='chat_input'>");

$('.chat_input').on('keypress', function(ev){
     console.log(ev) });

请帮帮我。

2 个答案:

答案 0 :(得分:0)

我修复了这是我的代码:$(document).delegate('。chat_input','keypress',function(ev){

答案 1 :(得分:-1)

您需要将事件处理程序附加到文档中,如果在追加之前运行按键处理程序,则不会将其添加到后面的任何附加输入中。

这是一个jsFiddle:https://jsfiddle.net/CanvasCode/z8xcytLq/

的jQuery

  @Override
    public void onBackPressed() 
    {
        // your code.
    }


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)

    {

    if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN) 
    {
            // your code
            return true;
        }

       return super.onKeyDown(keyCode, event);
    }

全局事件处理程序也更好,因为6个不同的输入不会有6个不同的处理程序