弹出单击上的x图像应该专注于文本框但不能按预期工作

时间:2013-01-23 04:54:04

标签: javascript jquery image gwt click

我有一个通过gwt代码生成的弹出窗口。用户单击(图像x btn)后,焦点应设置为文本框。但我在这里所做的并不像预期的那样。它的作用是它专注于文本框但不关闭弹出窗口。我需要它关闭弹出窗口首先ebfore聚焦文本框。我尝试逐个删除div的类,但它似乎不会删除“模态”功能或页面不再响应任何鼠标或键盘点击。如果在$('#globalSearchTextBox')之前有警报(“test”),则下面的代码只能按预期工作.focus();但每当我删除它,它再次失败。看起来对“x”图像的关注会丢失,并且即使在单击弹出窗口之前立即转到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();

          } 

    });

我尝试了数百个像blur,mouseleave这样的解决方案,同时设置了超时(我试过延迟焦点因为我觉得它很快)。我甚至尝试删除弹出面板的.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>

0 个答案:

没有答案