親がダブルクリックされると編集可能になることを意図した要素がページにあります。のようなもの:
<div id="parent"><p class="editable"> enter text here </p></div>
そして、私#parent
はdblclicked
属性contenteditable
をtrueに変更します。
問題は、 contenteditable がオンになると、ユーザーがテキストを編集できないようにする2つのことがあるということです。私がそれを行うunbind()
と、この部分は解決されます(しかし、私はそれをしたくありません!) 2)このコードを使用して、ページでのテキスト選択を無効にします:
function disableSelection(target){
if (typeof target.onselectstart!="undefined") //IE route
target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
target.style.MozUserSelect="none"
else //All other route (ie: Opera)
target.onmousedown=function(){return false}
target.style.cursor = "default"
}
そして、次を使用して編集可能な要素を除外しようとしました:
disableSelection($(":not(.editable)").get(0));
しかし、ページ内のすべてを無効にしているようです。それを取り除くと、問題の残りの半分が解決します。編集を有効にしたい場合は、親からすべてのイベントをバインド解除し、disableSelection を取り除く必要がありますが、これは私には不可能です。
これを修正する方法について誰か考えがありますか? 解決策は私が思っているよりも簡単なはずですが、私は今自分自身を混乱させているだけだと思います!