2012-04-04 7 views
0

入れ子のcontenteditable divに問題があります。 MozillaとWebkitの両方で、正しく動作します。ネストされたdiv内または親内をクリックすると、カーソルが期待通りに表示されます。問題はOperaにあります。私は親divのカーソルを取得することができますが、ネストされたdiv内をクリックするとカーソルはありません。入れ子のContenteditableはOperaにフォーカスしません

http://jsfiddle.net/Hawkee/gSd2p/1/

は、まず、ネストされたdiv要素を追加するためのリンクをクリックしてください:ここに私の例です。ネストされたdivの上にある[コード]をクリックするとカーソルが表示されますが、div内をクリックすると消えます。

+0

私は一種のこの前に起こる見てきました。入れ子になっているcontentEditableにタブすると、それを編集することができます。私はそれを修正する方法を知らない。 – Jordan

+0

私が行う必要があることは、ブラウザを検出して醜いハックをすることです。これは、ネストされたdivをクリックすると、親divのcontenteditableを無効にするときに機能します。その後、私はぼかしでそれを元に戻す必要があります。 – Hawkee

+0

Hawkeeさん、これを解決しましたか? [html5demo](http://html5demos.com/contenteditable#view-source)でもこの問題があります(フォーカスは初回のみ)... –

答えて

1

オペラ座でのdivにフォーカスを返すための回避策:

var range = document.createRange(); 
range.selectNodeContents(document.getElementById('yourdiv')); 
range.collapse(false); 
var selection = window.getSelection(); 
selection.removeAllRanges(); 
selection.addRange(range); 
関連する問題