jQuery移动弹出窗口关闭按钮并非始终有效

用户名

我正在使用jquery mobile 1.4.5。在某些情况下,当用户单击链接并用ajax调用的结果填充该弹出窗口时,我会生成一个弹出窗口。在ajax调用返回后,从firebug中获取的生成代码如下所示:

<div id="detailsPopup-popup" class="ui-popup-container ui-popup-active" tabindex="0" style="max-width: 1250px; top: 68.9967px; left: 146px;">
<div id="detailsPopup" class="ui-content ui-popup ui-body-a ui-overlay-shadow ui-corner-all" data-role="popup" style="width: 971.538px;"><a class="ui-btn ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right" data-iconpos="notext" data-icon="delete" data-theme="a" data-role="button" data-rel="back" href="#">Close</a>
<div data-theme="a" data-role="header">
  ...content...
</div>
</div>
</div>

弹出窗口显示正常。我会说90%的时间,当我单击关闭按钮时,弹出窗口关闭。但是,有10%的时间只是坐在那里。通常,它将关闭按钮突出显示为蓝色,表示它处于活动状态或其他状态,但窗口本身保持打开状态。如果我在弹出框中单击几次并继续尝试,它将最终关闭,但它非常令人沮丧并且对用户不友好。

我不确定为什么在这么短的时间内不起作用?我提供了模态外观的屏幕截图。我不知道父div(蓝色轮廓)是否以某种方式覆盖了按钮的一半,因此有时会引起点击?

屏幕截图显示了萤火虫的检查屏幕。 您可以看到右上角的关闭按钮

关于这里发生的事情有什么想法吗?我只能尝试使用android / chrome而不是iphone,所以我不知道它是否特定于浏览器。

谢谢!

编辑:添加解析ajax响应并生成窗口的javascript代码。注意:我知道我现在将所有内容都放在标题div中(出于填充目的),但是我不认为这是造成此问题的原因。为了简洁起见,我删除了很多窗口内容。

function showPopup(jsonResponse){

    // parse json response
    var obj = jQuery.parseJSON( jsonResponse );

     // close button
    var closeBtn = $('<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">Close</a>').button();

    // start to construct window contents from response
    var content = "<div data-role=\"header\" data-theme=\"a\">";

     content += '<table border="0" style="width:100%"><tr>';
     content += '<td style="vertical-align:top;">';
     content += '<a data-ajax="false" href="show.php?id='+obj.id+'"><img src="'+obj.pic+'" style=\"max-height: 2em;\"></a><br><b>'+obj.title+'</b></div>';
     content += '</td></tr></table>';

     // close header div
     content += '</div>';

    // Popup body - set width is optional - append button and Ajax msg (was 1.5 width originally)
    var popup = $("<div/>", {
        "id": "detailsPopup",
        "data-role": "popup",
          "class": "ui-content"
    }).css({
        "width": $(window).width() / 1.3 + "px"
    }).append(closeBtn).append(content);

    // Append it to active page
    $(".ui-page-active").append(popup);

    // Create it and add listener to delete it once it's closed
    // open it
    $("#detailsPopup").on("popupafterclose", function () {
        $(this).remove();
    }).on("popupafteropen", function () {
        $(this).popup("reposition", {
            "positionTo": "window"
            //x: 150,
            //y: 200
        });
    }).popup({
        "dismissible": false,
            "history": false,
            "theme": "a",
            "overlayTheme": "b",
                "class" : "ui-content"
    }).popup("open");

} // end showPopup
用户名

好的,所以我终于弄清楚了。是我100%的错(按预期)。我覆盖了一些默认的JQM css,当然它引起了错误。在页面的另一部分,我不得不尝试将3个按钮放在同一行中,并使用以下代码来做到这一点。

.ui-btn{
  font-size:12px;
}

(最初:1em)

这样会使按钮缩小到足以满足其他要求的程度,但是这也导致关闭按钮无法正确显示(如您在下面看到的那样,它没有外部边框)。因此,我猜测这只是由不同字体大小引起的怪异的偏移/填充/等错误,这是单击未注册或未正确处理的原因。

正确的关闭按钮实现

(插入建议不要覆盖jqm css)

谢谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Qt-按钮单击并非始终有效

来自分类Dev

onbeforeunload并非始终有效

来自分类Dev

match()对()并非始终有效

来自分类Dev

onbeforeunload并非始终有效

来自分类Dev

PowerShell TrimStart并非始终有效

来自分类Dev

File.mkdirs()并非始终有效

来自分类Dev

休眠方法验证并非始终有效

来自分类Dev

javascript在IE中并非始终有效

来自分类Dev

ComboBox SelectedItem更改通知并非始终有效

来自分类Dev

MVC / Razor DisplayFormat并非始终有效

来自分类Dev

jQuery Mobile App-导航并非始终有效

来自分类Dev

jQuery验证:表单始终有效的问题

来自分类Dev

jQuery验证:表单始终有效的问题

来自分类Dev

Python-Flask-SocketIO从线程发送消息:并非始终有效

来自分类Dev

JavaFX:textArea.setScrollTop(Double.MAX_VALUE)并非始终有效

来自分类Dev

WPF DataGrid ContextMenu命令绑定到MVVMLight RelayCommand <T>并非始终有效

来自分类Dev

sslstrip并非始终有效-仅在成功登录之前

来自分类Dev

来自AJAX的AngularJS控制器数据-并非始终有效

来自分类Dev

twitter-bootstrap嵌入响应式并非始终有效

来自分类Dev

Windows Task Scheduler-在空闲触发器上并非始终有效

来自分类Dev

jQuery移动弹出窗口宽度问题

来自分类Dev

jQuery移动弹出窗口问题

来自分类Dev

jQuery移动弹出窗口宽度问题

来自分类Dev

jQuery移动弹出窗口问题

来自分类Dev

无法以编程方式关闭jQuery移动弹出窗口中的可折叠

来自分类Dev

一旦按下相关按钮,JQuery 移动弹出窗口并不总是出现

来自分类Dev

如何移动弹出窗口?

来自分类Dev

为什么此JavaScript不能始终有效?

来自分类Dev

始终有效的引导程序下拉菜单

Related 相关文章

热门标签

归档