keypress无法在附加的html

时间:2015-08-27 16:22:29

标签: javascript jquery javascript-events

<input type="text" id="message" param="1" placeholder="chat here.." />

这是div中的元素,它在javascript之外工作正常

这是附加元素

之后的情况
$('.chat-wrapper').append('<li class="one-big-icon mega-li mgl-10"> <a href="#" id="chat'+id+'" onclick="inititate('+id+');" class="mega-link chat-initate-'+id+'" data-action="click-trigger"> <span class="mega-icon"><img alt="example image" class="chat-initatior" src="'+img_url+'"></span> <span class="badge vd_bg-red">10</span> </a> <div class="vd_mega-menu-content open-top width-xs-4 width-md-5 width-lg-4 center-xs-4 chat-box'+id+'" data-action="click-target"> <div class="child-menu"> <div class="title"> ujwal <i>(online)</i> <div class="vd_panel-menu"> <div data-rel="tooltip"  data-original-title="Close" class="menu entypo-icon"> <i class="icon-cross"></i> </div> </div> </div> <div class="content-list content-image content-menu"> <div data-rel="scroll"> <ul class="list-wrapper pd-lr-10"> <li> <a href="#"> <div class="menu-icon"><img alt="example image" src=""></div> <div class="menu-text"> Do you play or follow any sports? <div class="menu-info"> <span class="menu-date">12 Minutes Ago </span> </div> </div> </a> </li> </ul> </div> <div class="closing chat-area"> <div class="chat-box"> <input type="text"  id="message" placeholder="chat here.." /> </div> <div class="vd_panel-menu"> <div  data-rel="tooltip"  data-original-title="Insert Picture" class="menu"> <i class="icon-camera"></i> </div> <div  data-rel="tooltip"  data-original-title="Emoticons" class="menu"> <i class="fa fa-smile-o"></i> </div> </div> </div> </div> </div> <!-- child-menu --> </div>   <!-- vd_mega-menu-content --> </li>');

现在我做的时候

    $('#message').keypress(function(event){

alert('WORKING');
});

alert(&#39; working&#39;)只有当我在某次点击后进行追加后在第一个元素中键入任何键时才有效,如果我在附加的输入框中输入内容,我什么也得不到,为什么?< / p>

2 个答案:

答案 0 :(得分:2)

根据您的jQuery版本,使用.on().live()来绑定到附加的元素。

$("div").on( "keypress", "#message", function(){
    alert( "working!" );
});

其中div#message的父级的选择器。

答案 1 :(得分:1)

这里工作正常;

https://jsfiddle.net/mig1098/0rgd3ppu/

var id='one',img_url='http';//test values

$('.chat-wrapper').append('<li class="one-big-icon mega-li mgl-10"> <a href="#" id="chat'+id+'" onclick="inititate('+id+');" class="mega-link chat-initate-'+id+'" data-action="click-trigger"> <span class="mega-icon"><img alt="example image" class="chat-initatior" src="'+img_url+'"></span> <span class="badge vd_bg-red">10</span> </a> <div class="vd_mega-menu-content open-top width-xs-4 width-md-5 width-lg-4 center-xs-4 chat-box'+id+'" data-action="click-target"> <div class="child-menu"> <div class="title"> ujwal <i>(online)</i> <div class="vd_panel-menu"> <div data-rel="tooltip"  data-original-title="Close" class="menu entypo-icon"> <i class="icon-cross"></i> </div> </div> </div> <div class="content-list content-image content-menu"> <div data-rel="scroll"> <ul class="list-wrapper pd-lr-10"> <li> <a href="#"> <div class="menu-icon"><img alt="example image" src=""></div> <div class="menu-text"> Do you play or follow any sports? <div class="menu-info"> <span class="menu-date">12 Minutes Ago </span> </div> </div> </a> </li> </ul> </div> <div class="closing chat-area"> <div class="chat-box"> <input type="text"  id="message" placeholder="chat here.." /> </div> <div class="vd_panel-menu"> <div  data-rel="tooltip"  data-original-title="Insert Picture" class="menu"> <i class="icon-camera"></i> </div> <div  data-rel="tooltip"  data-original-title="Emoticons" class="menu"> <i class="fa fa-smile-o"></i> </div> </div> </div> </div> </div> <!-- child-menu --> </div>   <!-- vd_mega-menu-content --> </li>');

$('#message').keypress(function(event){
alert(event.keyCode);
});