0

ASP.Net内でjQuerynyroModalプラグインを使用しています。私はnyroModalが大好きで、全体的に非常にうまく機能しています。

しかし、私はendShowContentコールバックを使用して、nyromodalの読み込みが完了した後、ページのコンテンツの最初のテキスト入力要素にフォーカスを設定しています。これを実現するために、ページに次のコードがあり、ナイロモーダルポップアップを開始します。

$(function(){$ .fn.nyroModal.settings.endShowContent = function(elt、settings){$('input:text:first'、elt.content).focus();};});

モーダルが表示されると、最初のテキストフィールドが一時的にフォーカスを取得するため、その種類が機能していることがわかります。しかし、それは一種のちらつきと再び焦点を失います。それは、nyromodalがまだ完全にロードされていないと判断し、何か他のものがフォーカスを取り戻すようになっているようです。それとも、UpdatePanelが干渉しているのでしょうか。(なぜそうなるのかわかりません)。nyromodalのendShowContent呼び出しが発生した後、UpdatePanelの肥大化した自動生成されたAJAX JS呼び出しが何かを実行している可能性がありますか?

ヘルプや洞察をいただければ幸いです。

4

3 に答える 3

2

私はここで問題を再現しようとしました:http://jsbin.com/igibo

問題を再現できないので、コードに問題の原因となっているものが他にあると思います。

http://jsbin.com/igibo/editを使用してレクリエーションを編集して問題を再現してみてください。そうすれば、そこから解決できます。

PS問題を改善しているのは素晴らしいことですが、新しい回答に情報を追加するのではなく、質問を更新してください。(技術的には答えではありません)

于 2009-05-13T02:45:35.770 に答える
0

コードをラップしてみましたか

$(document).ready(function() { // put all your jQuery goodness in here. });

JQueryドキュメント対応チュートリアル

domがまだ完全にロードされていない可能性があります。

于 2009-05-13T01:29:08.500 に答える
0

brianpeirisに感謝します!あなたはこれを信じないでしょう、私は気分が悪いです。

そのjsbinからコードを取得してローカルにコピーしたので、サンプルコードを自分のテストページと並べて作成しました。私のテストページでは、ナイロモーダルを起動する古い方法を使用していました。それは次のとおりです。

<a href="modal.html" target="_blank" class="nyroModal">Launch modal</a>

このコードは、例などでWeb全体で見つかりました。しかし、それは、ナイロモーダルでモデルポップアップを起動するための古い/危険な/置き換えられた方法であるに違いないようです!

通常の/クリーンなハイパーリンクを作成し、クラスとターゲットのゴミを削除してから、送信したものと同じスタイルを使用しました。

$('a').nyroModal();

これで私の問題はすべてなくなりました。これですべてが修正されました!:)また、ウィンドウの開口部のアニメーションは非常にスムーズです。

本当にありがとう。このプラグインのドキュメントには少し一貫性がないことがわかりました。あなたは私を正しい方向に向けるのを手伝ってくれました。この方法を使用すると、フォーカスも完全かつ非常にスムーズに機能します。

乾杯

于 2009-05-13T03:05:45.167 に答える