按键在附加 html 中不起作用

keypress not working in appended html

<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('working') 仅当我在点击添加后在第一个元素中键入任何键时才有效,如果我在附加的输入框中键入内容,我什么也得不到,但为什么?

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

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

其中 div#message 的父选择器。

这里工作正常;

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);
});