JQuery .on(" keydown")附加到页面时不工作

时间:2016-05-17 00:55:07

标签: javascript jquery

我有一个侧边菜单,您可以右键单击并选择重命名。这会从<a href="...中删除<li></li>并添加输入字段。我似乎没有这个附加的输入做任何事情,但似乎我可以使这个工作的输入尚未附加。

&#13;
&#13;
$('.ShowInput').click(function(e) {
    $('body').html("<input type='text' value='search' class='search'>");
});
$("input").on("keydown",function search(e) {
    if(e.keyCode == 13) {
        alert($(this).val());
    }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="ShowInput">
  Click to show input
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

使用以下方法绑定动态添加元素的事件。 参考:Event binding on dynamically created elements?

df = df.sort_values('Area').reset_index(drop=True)
df.loc[df.Area.searchsorted(df.Area.mean()) - 1]

    class      Area
11  31-40  628157.6

答案 1 :(得分:1)

尝试将keydown事件绑定到祖先元素,并将搜索类作为参数传递给.on()方法。

$("body").on("keydown", "input.search", function (e) {
  var inputValue = $(this).val(); 
  if(e.keyCode == 13) {
    alert(inputValue);
  }
});