私のページには、contenteditable
div
という要素があります。特定のキーが押されると、関数が実行されます。contenteditable divの選択をキャンセルするには?
function bla(element) {
if (getSelectionHtml() != "") {
replaceSelectedText("text");
}
}
getSelectionHtml()
チェックを何かがユーザによって選択されている場合。 replaceSelectedText(text)
は、選択したテキストを指定された文字列に置き換えます。両方の機能が正常に動作しています。
選択したテキストを置き換えた後、選択内容が '新しい'文字列と同じになるため、ユーザーの選択を 'キャンセル'したいので、テキストを削除するだけでは選択できません。
私はこの試みた:
element.style.userSelect = "none";
element.style.userSelect = "text;
をしかしuserSelect: none
がcontenteditable
とdiv要素には何も変更していないようなので、それは動作しませんでした。また、このような単純な問題に対しては、この解決法はかなり醜いものに見えます。
どのようにしてユーザーの選択をキャンセルできますか?
try element.selection.empty(); –
@SanchitPatiyal私が試した:関数はエラー_Uncaught例外TypeError:プロパティを読み取ることができませんundefined_の「空」:( – Sacha
どうdocument.selection.emptyについて(); –