Rails を使用した Web アプリがあります。テキスト選択の操作には jQuery を使用します。
私は2つのモディを実装しました:
読み取りモード: ユーザーはテキストのみを読み取ることができます。ハイライトと変更は非表示になります。
レビュー モード: ユーザーはテキストを編集および変更できます。
読み取りモードでは、テキスト変更のすべての機能がトリガーされないようにしたいと考えています。
今のところ、変数がありますinReviewMode
。そのブール値と私は、ユーザーがボタンをクリックしたときに値をトリガーします。コードでは、次のようなスイッチを実現しています。
(CoffeeScript表記)
jQuery ->
$(document).on 'contextmenu', 'article#content', (e) ->
if inReviewMode
e.preventDefault()
# and so on...
$(document).on 'click', 'article#content', (e) ->
if inReviewMode
# something to do
if ステートメントをすべての関数にラップしてから、else ブロックに「読み取りモード関数」を実装するなどのより良いアプローチはありますか?
私の質問を理解していただければ幸いです。助けてくれてありがとう!