javascript - jQuery 按键不起作用

标签 javascript jquery

我目前正在尝试在单击按钮后添加文本区域。然而,虽然按钮点击有效,但文本区域没有注册任何按键事件。

注意:有一个不同文件的列表,这就是为什么我在其 id 上附加一个唯一的 id。

$(".add").click(function() {
    var id = $(this).attr("id");
    $("#" + id).after("<textarea placeholder = 'Add a description for this piece of work. Press enter to save it.' class = 'edit-work' id = 'edit-work" + id + "'></textarea>");
    $("textarea").not("#edit-work"+id).remove();                     
});

$(".edit-work").on('keypress', function(e) {
    alert('foo');
}); 

最佳答案

当您将 keypress 监听器绑定(bind)到文本区域时,文本区域不存在。您需要将按键绑定(bind)到文档(或现有的父级)

$(document).on('keypress', ".edit-work", function(e){
    alert('foo');
});

有关事件委托(delegate)的更多信息 here :

关于javascript - jQuery 按键不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35143219/

相关文章:

javascript - 需要使用 JavaScript 中的键码将事件监听器分配给 Tab 键?

javascript - PhoneGap 游戏、canvas 和慢 javascript

c# - 如何知道用户来自A站点

jquery - 显示大型 Base64 图像 MVC 4 DOTNET

javascript - 如何使这个 if 语句起作用?

javascript - 如何访问 :before selector using jquery? 之前添加的内容

JavaScript 动态变量名称

javascript - 在 ES6 中将纯类注入(inject) angular 1.x 应用程序的正确方法

javascript - 重新排序列表元素 - jQuery?

javascript - 使 Bootstrap 进度条从 0 到 100% 动画