###前提・実現したいこと
Ruby on Railsでアプリを作っています。
teratailの質問を書くときにあるような、文字を選択しながら「B(Bold)」ボタンを押すと
その範囲の前後に「**」をつけるような処理を書きたいです。
###発生している問題・エラーメッセージ
選択してボタンを押しても「String(document.getSelection())」の部分が空白になり、
「****」という文字が出力されるだけになってしまいます。
どうもボタンを押した瞬間にフォーカスがボタンのほうに移ってしまうことで、
範囲選択が外れてしまっていることが原因のような気がします。
とすれば直前に範囲選択されていた値を取得するべきなのかとも思うのですが
どのようにすれば取得できるか分かりません。
ご存知のかたいらっしゃいましたら教えていただけますでしょうか。よろしくお願いします。
###ソースコード
coffeescript
1$ -> 2 # 入力補助ボタンイベント 3 $('#button_bold').click -> 4 document.getElementById('item_content').value += "**" + String(document.getSelection()) + "**" 5 return
###補足情報(言語/FW/ツール等のバージョンなど)
ruby "2.3.0"
'rails', '4.2.4'
2016.03.17追記
input内の文字を選択した場合のみ選択範囲の文字が取得できないようです。
(プレビューで横に表示している文字を選択し、ボタンを押した場合は選択範囲の文字が取得できております。)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/03/17 14:52
2016/03/17 15:24