我尝试在" contentEditable-Div"中将所有节点放在插入符号中。在Key-Down之后总是要列出所有节点。
<div id="MyDiv" contentEditable="true">
<h1>header</h1>
<p>this is a test </p>
<a href="http://www...">Href-Test</a>
<ol>
<li>Google Chrome</li>
<li>Internet Explorer</li>
<li>Mozilla Firefox</li>
<li>Safari</li>
<li>Opera</li>
</ol>
<p> 123
<ol>
<li><strong> 1 2 3 </strong> Test </li>
<li><h4>This-is-a-pointer</h4></li>
</ol>
</p>
<br />
<ul> <li> Test "<em>Test</em> <b>Test</b>" </li></ul>
jQuery中的Key-Down函数:
$("#MyDiv").keydown(function(event) {
alert('1. '+ event.target.nodeName );
alert('2. '+ ' ? ' );
alert('3. '+ ' ? ' ); });
如果插入符号是&#34; Google Chrome&#34;,那么我希望得到如下结果: div - &gt; ol - &gt;里 或者如果插入符是&#34;这是一个指针&#34;,那么我期望得到如下结果: div - &gt; P - &gt; ol - &gt; li - &gt; H4
我尝试了以下内容:
alert('1->'+ event.target.nodeName ); // --> DIV
alert('2->'+ $(target.children()).prop('tagName') ); // --> P
alert('3->'+ $(target.children().children()).prop('tagName') ); // --> I
但这并没有提供预期的解决方案。 任何的想法? 提前谢谢。