<div class="pad" id="test" contenteditable="true" spellcheck="false">
<div id="a0" class="fif" > text0</div>
<div id="a1" class="fif" >text1</div>
<div id="a2" class="fif" >text2</div>
</div>
上記のコードのように、内部にいくつかの子 div を持つcontenteditable divがあります。入力している子 divのIDを返す jQuery が必要です。たとえば、text1を編集している場合は、 "a1"が返されます (戻ります) 。
使用すれば思い通りに動作します
var clicked;
$('#test').click(function(event){
clicked = $(event.target);
alert(clicked.attr('id'));
});`
ここに示すように
http://jsfiddle.net/bernie1227/cK69Q/ (つまり、クリックすると id="a1" が返されます)を使用すると、同様の方法で機能しません
var clicked;
$('#test').keypress(function(event){
clicked = $(event.target);
alert(clicked.attr('id'));
});
ここに示すようにhttp://jsfiddle.net/hari_OM/bLgkv/ つまり、入力すると、「id=a1」ではなく「id=test」が返されます
event.target.id
and を使用してみましたが、 id="test" ではなくid="a1"$(this).attr("id")
を返しますが、 "a1"を取得する必要があります。 また、子 div 内に注入して、定義された関数から取得しようとしましたが、機能しません。onkeypress="funcname(this.id)"