Javascript DIV中显示的关闭按钮在第一次单击(或轻触)时没有响应

Javascript DIV中显示的关闭按钮在第一次单击(或轻触)时没有响应,javascript,jquery,ajax,jquery-mobile,Javascript,Jquery,Ajax,Jquery Mobile,我有一个问题,一个暴露的DIV在第一次尝试时没有关闭。用户必须在页面上的任何位置至少单击一次,而不必是关闭按钮,然后才能单击关闭以实际关闭DIV。不过,首先,DIV之前有一个简短的引导 我在页面中使用jquery移动弹出窗口来包含单个文本字段和提交按钮。它看起来像这样(减去布局)。用户通过此弹出窗口提交备注 <div data-role="popup" id="popupBasic" data-corners="false"> <textarea rows="9" n

我有一个问题,一个暴露的DIV在第一次尝试时没有关闭。用户必须在页面上的任何位置至少单击一次,而不必是关闭按钮,然后才能单击关闭以实际关闭DIV。不过,首先,DIV之前有一个简短的引导

我在页面中使用jquery移动弹出窗口来包含单个文本字段和提交按钮。它看起来像这样(减去布局)。用户通过此弹出窗口提交备注

<div data-role="popup" id="popupBasic"  data-corners="false">
    <textarea rows="9" name="note" id="AttitionalNoteText"></textarea>
    <a href="#" data-mini="true" id="submitnote" data-role="button">Submit</a>
    <a href="#" data-rel="back" id="cancelSubmitNote" data-mini="true" data-role="button">Cancel</a>
</div>
这是一个简单的DIV和一个close按钮

<div id="confirmBox">
    <div id="confirmMsg" style="padding: 10px; font-size: 16px;">
        this message gets replaced with whatever ajax call returned
    </div>
    <a href="#" id="closeConfirmBox" data-role="button">Close</a>
</div>

此消息将替换为返回的任何ajax调用

似乎在弹出窗口隐藏且我的DIV出现后,鼠标不会显示为手指指针,直到我在页面上的某个位置单击一次。只有这样,我才能正确使用DIV上的Close按钮。同样的情况也发生在手机上,我必须先在屏幕上的某个地方点击tab键,然后才能再次点击Close键。对此我能做些什么?

问题是您没有使用弹出窗口小部件的,您只是隐藏了div并保留了模式屏幕

变化

$("#popupBasic").hide();
致:

工作

顺便说一句,如果你想使用链式弹出窗口,请看我写的这篇博客:

在ajax调用之前添加了上述内容


我认为,如果有一个适当的解决方案来解决未定义的.popup(“关闭”)问题,这不会是一个问题。

只有“关闭”按钮在第一次单击时不起作用,或者确认框中的任何元素都不起作用?这是一个好问题。只有在第一次单击之后,页面上的其他元素才能进行操作。这意味着在其他元素之前有一个透明元素,而这在单击时会消失。如果你发现了什么,你可以在你的ajax函数之后用Js删除它。见我的答案$(#popupBasic”).弹出(“关闭”);是关闭弹出窗口小部件的正确方法。API文档:不幸的是,即使使用最新的jQuery,该函数在我客户的网页上也没有定义。我认为问题与初始化有关。弹出标记在哪里?它应该位于data role=“page”DIV中,与页眉、内容、页脚处于同一级别。
$("#popupBasic").hide();
$("#popupBasic").popup( "close" ); 
$("#popupBasic").hide(); 
$("#popupBasic-screen").hide();