jQueryのnyromodal + ASP.Net +のUpdatePanel / AJAX - endShowContent動作していない、ちらつきは、フォーカスを失いました

StackOverflow https://stackoverflow.com/questions/855481

  •  21-08-2019
  •  | 
  •  

質問

私はASP.Net内のjQuery nyroModalプラグインを使用しています。私はnyroModalを愛し、そして全体的にその非常にうまく働いています。

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

$(関数(){         $ .fn.nyroModal.settings.endShowContent =関数(ELT、設定){$( '入力:テキスト:最初'、elt.content).focus(); }。     });

モーダルが表示されたら、最初のテキストフィールドが一瞬フォーカスを取得しないので、

私は、作業のそのようなものを伝えることができます。しかし、それは一種の点滅して、再度フォーカスを失いました。 nyromodalが、それはまだ完全にはロードされず、他の何かが戻って離れてフォーカスを取るために起こることを決定した場合のようにそれはほとんどです。それとも妨害のUpdatePanelのですか? (なぜそれがだろう、私は知りません)。それはnyromodalのendShowContentコールが起きた後のUpdatePanelの肥大化、自動生成されたAJAX JSコールが何かをやっている可能性が高いですか?

すべてのヘルプや洞察力をいただけれます。

役に立ちましたか?

解決

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

私はこの問題を複製することはできませんので、私は、問題を引き起こしているあなたのコード内で何か他のものがあります推測しています。

複製する http://jsbin.com/igibo/edit を経由してのレクリエーションを編集して試してみてください問題は、その後、私たちはそこからそれを解決することができます。

P.S。それはあなたがあなたの問題を改良していることは素晴らしいことだが、代わりに新しい答えでより多くの情報を追加する質問を更新してください。

(彼らは技術的に答えはありません)

他のヒント

あなたはあなたのコードをラップしてみました。

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

DOMがまだ完全にロードされていない可能です。

ありがとうbrianpeiris!あなたは私が病気に感じ、これを信じていません。

私はそのjsbinからあなたのコードを持って、それをローカルにコピーしたので、私は私自身のテストページと並んで、あなたのサンプルコード側を持っていました。私のテストページでは、私がいたnyromodalを起動するいくつかの古い方法を使用していた。

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

私は、すべての例でなどウェブ上でこのコードを発見しました。しかし、nyromodalでモデルのポップアップを起動するいくつかの古い/危険な/代わら方法でなければならないようです!

私は単に通常のクリーン/ハイパーリンクと判断し、クラスを削除し、ごみを対象とし、あなたが私を送っ同じスタイルを使用します:

$('a').nyroModal();

今私の問題のすべてがなくなっています。これは、すべてのものを固定しています! :)また、窓の開口部のアニメーションがよりスムーズです。

本当にありがとうございました。私はこのプラグインのために少し矛盾した文書を発見しました。あなたは正しい方向に私を指す助けました。この方法を使用して、フォーカスは、同様に完璧と非常にスムーズに動作します。

乾杯

scroll top