Keypress-Ereignis auf verschachtelte Inhalte bearbeitbar (jQuery)

Ich habe eine CONTENTEDITABLE div und innerhalb dieses div habe ich ein span CONTENTEDITABLE, was ich tun möchte, ist in der Lage zu handhaben, die onkeypress-Ereignis auf die inneren SPAN.

So, der javascript-code wäre:

$(function()
{
    $('#someid').keypress(function(event){alert('test');});
});

Und den HTML-Inhalt wäre:

<div id="mydiv" contenteditable="true">
editable follows:<span id="someid" contenteditable="true">Some TEXT</span>
</div>

Wenn Sie es testen auf einem browser, werden Sie sehen, Sie sehen nicht die 'test' - dialog, wenn Sie eine Taste drücken, über einen TEXT, ich weiß, das problem ist, dass das Ereignis ausgelöst wird, in dem übergeordneten div, so dass die SPANNE nicht der Fall, auch weil es nicht den Fokus haben. Ich möchte Ihre Hilfe, um eine Lösung zu finden.

Könnte Sie erstellen Sie eine Beispiel auf jsfiddle um das problem zu illustrieren?
AFAIK Tastendruck nicht Blase durch das Dokument (für die nicht-Eingabe-Elemente). Sie konnte nur erkennen, eine normale Tastendruck, und überprüfen Sie, ob #someid Fokus hat.
Dies scheint zu funktionieren: jsfiddle.net/EMThL/2
Ok, ich erkannte das Beispiel, das ich gab, war falsch, ich aktualisierte das Beispiel jsfiddle.net/TwgkC/5 und Sie können überprüfen, es funktioniert nicht, es hängt die Zeitspanne, wenn eine beliebige Taste gedrückt wird auf #mydiv, aber dann wird das keypress-Ereignis nicht ausgelöst, auf das eingefügte span.

InformationsquelleAutor Coder | 2011-02-21

Schreibe einen Kommentar