gwt コードで生成されたポップアップがあります。ユーザーがクリックすると (image x btn)、フォーカスをテキストボックスに設定する必要があります。しかし、ここにあるものは期待どおりに機能していません。それがすることは、テキストボックスに焦点を合わせますが、ポップアップを閉じません。テキストボックスにフォーカスする前に、最初にポップアップを閉じる必要があります。div のクラスを 1 つずつ削除しようとしましたが、「モーダル」機能が削除されないか、マウスやキーボードのクリックにページが応答しなくなったようです。以下のコードは、 $('#globalSearchTextBox').focus(); の前に alert("test") がある場合にのみ期待どおりに機能します。しかし、それを削除するたびに、再び失敗します。「×」に注目したようです。画像が失われ、ポップアップがクリックされる前でもすぐにglobalSearchTextBoxに移動するため、ポップアップが閉じられず、モーダルモードのままです。また、画像クリックの xit ハンドラーの .java コードでそれを実行しようとしましたが、それでも機能しません。
jqueryのファンでもなく、これを正しく行う方法についてのアイデアが不足していました。:(助けてください。ありがとう。
ここに私のコードがあります:
$('#imgExitId').live('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
//alert("tab press")
$('#imgExitId').focus();
}
if (keyCode == 13) {
e.preventDefault();
//if alert("test") is added, hen it works
$('#globalSearchTextBox').focus();
}
});
ぼかし、マウスリーブ、タイムアウトの設定など、何百もの解決策を試しました(ただ速いと思ったので、フォーカスを遅らせてみました)。ポップアップ パネルの .css も削除してみました。
ポップアップのhtmlは次のとおりです(gwtコードで生成):
<div class="gwt-PopupPanelGlass" style="position: absolute; left: 0px; top: 0px; display: block; width: 1758px; height: 1001px;"></div>
<div style="left: 1156px; top: 39px; position: absolute; overflow: visible;" class="gwt-DecoratedPopupPanel gwt-DecoratedPopupPanel-pnlUserFeedback" id="pnlUserFeedBackId"><div class=""><table cellspacing="0" cellpadding="0" class=""><tbody><tr class="dialogTop"><td class="dialogTopLeft"><div class="dialogTopLeftInner"></div></td><td class="dialogTopCenter"><div class="dialogTopCenterInner"><div class="Caption"></div></div></td><td class="dialogTopRight"><div class="dialogTopRightInner"></div></td></tr><tr class="dialogMiddle"><td class="dialogMiddleLeft"><div class="dialogMiddleLeftInner"></div></td><td class="dialogMiddleCenter"><div class="dialogMiddleCenterInner dialogContent"><div id="pnlUserFeedbackPopupArrowId" class="pnlMainUserFeedback pnlArrow"><img src="images/window-arrow-for-error.gif" class="gwt-Image" title="Error" alt="Error" id="imgUserFeedbackPopupArrowId"><div id="pnlHeaderUserFeedbackPopupId" class="pnlHeaderUserFeedbackPopup"><button type="button" tabindex="0" class="imgExit" title="Close Window" alt="Close Window" id="imgExitId"></button><div class="dataHyperLink lblCloseInUserFeedback" id="lblCloseInUserFeedbackId" style="text-decoration: initial;">close</div><div class="gwt-Label lblHeaderUserFeedbackPopup" id="lblHeaderUserFeedbackPopupId">Error</div><div id="pnlBodyUserFeedbackPopupId" class="pnlBodyUserFeedbackPopup"><div id="pnlMessagePopupId" class="pnlMessagePopup"><img class="gwt-Image imgWarning" title="Warning" alt="Warning" src="images/warning.gif" id="imgWarningId"><div class="gwt-Label lblMessagePopup" id="lblMessagePopupId">Please provide a search term</div></div></div></div></div></div></td><td class="dialogMiddleRight"><div class="dialogMiddleRightInner"></div></td></tr><tr class="dialogBottom"><td class="dialogBottomLeft"><div class="dialogBottomLeftInner"></div></td><td class="dialogBottomCenter"><div class="dialogBottomCenterInner"></div></td><td class="dialogBottomRight"><div class="dialogBottomRightInner"></div></td></tr></tbody></table></div></div>