を作成しましたcontenteditable
div
。子の 1 つでテキスト編集をロックしたい (以下の例では、"yes" をロックしたい)。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
、メインのみがdiv
受信します。なんで?そして、それを機能させるにはどうすればよいですか?