質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

4683閲覧

jQueryを使用したモーダルウィンドウの入力について

suzuki021502

総合スコア10

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2016/10/22 10:11

JQueryを使ったモーダルウィンドウのことで困っています。

モーダルウィンドウを以下のように作成しました。ほとんど問題なく動作しています。

<div id="out"> <div id="in"> // モーダルの内容 </div> </div>

1つだけ問題があります。
モーダルウィンドウを開いたときに、最初の1回だけ、<div id="in"><input><button>の部分や、
空白の部分をマウスクリックしないと、モーダルウィンドウが正常に動作しません。

最初の1回だけマウスクリックすれば正常に動作するということは、モーダルウィンドウがアクティブ、
あるいは、フォーカスが必要かと
$(window).on('load', function() {
// 処理A
});
の「処理A」にフォーカスの処理を追加したりしましたが、解決策にはなっていません。

解決するポイントは、
1.最初に<div id="in">のどこかにフォーカスする。
2.最初の表示状態の時に、何か必要な処理が抜けている。
3.最初の1回だけ、疑似的にクリックしたように処理を追加する。
など、どのような観点から解決したらいいのか、わかりません。

似たような動作を解決した方おりましたら、ご教示いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/10/22 10:14

書かれている状況が再現するコード(HTML/CSS/jsなど)か、再現するURLを提示されたほうが回答を得やすいと思います。
退会済みユーザー

退会済みユーザー

2016/10/22 10:18

勉強のため自力でコードを書きたいということでなければ、jQery UI の Dialog を使うという選択肢はないのでしょうか? http://jqueryui.com/dialog/
guest

回答1

0

$(window).on('load', はページ全体のロード後に発生するイベントなので、今回はモーダルのポップ後に再フォーカスする必要があります。
Bootstrapの例ですが ( http://getbootstrap.com/javascript/ )

jquery

1$('#myModal').on('shown.bs.modal', function () { 2 $('#myInput').focus() 3});

のように、モーダルが出た後に#myInputにフォーカスし直すことで解決できます。

投稿2016/11/14 17:05

lyonish

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問