如何在另一个具有多个contentEditable div的div内标识活动的contentEditable div

问题描述

这是简单的标记

<div id="myId1">
    <div id="contentEdit1" contentEditable="true></div>
    <div id="contentEdit2" contentEditable="true></div>
    ...
</div>

这是jQuery代码

$('#myId1 ' + '[contenteditable="true"]').on('keydown',function(ev) {
    console.log($(this).attr('id'));
});

问题在于,当我开始编辑任何contentEditable div时,根本不会触发事件处理程序。有什么想法吗?

编辑:我的提问中有错字。我错过了[contenteditable =“ true”]和console.log右括号之间的单引号。

解决方法

尝试

$('#myId1 [contenteditable="true"]').on('keydown',function(ev) {
    console.log($(this).attr('id'));
});

演示-https://codepen.io/vyspiansky/pen/vYGgEZj

实际上您的元素选择器'#myId1 ' + [contenteditable="true"]错误,并且不要在console.log之后关闭括号。