我创建了一个contenteditable
div
. 我想在其中一个孩子中锁定文本编辑(在下面的示例中,我想锁定“是”)。这是HTML:
<div id="foo" contenteditable="true">this is a test
<div contenteditable="false">
<ul>
<li>
<a id="test" contenteditable="true" href="stackoverflow.com">a link here</a>
</li>
</ul>
yes
</div>
...
</div>
和 JavaScript 代码:
document.getElementById('foo').addEventListener("keypress", function(e){
alert("div " + e.which);
});
document.getElementById('test').addEventListener("keypress", function(e){
alert("a " + e.which);
});
演示链接:http: //jsfiddle.net/wCs8J/1 /
问题是,当您单击右侧<li>
(当光标为默认箭头时)时,您将能够在<a>
. 但是,<a>
不接收keypress
,只有 maindiv
接收它。为什么?我应该怎么做才能让它工作?