问题描述
这是简单的标记:
<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
之后关闭括号。