Jquery mobile 如何检查jQM弹出窗口是否适合用户';s视口?

Jquery mobile 如何检查jQM弹出窗口是否适合用户';s视口?,jquery-mobile,popup,user-experience,Jquery Mobile,Popup,User Experience,所以我设法做到了。但是,当弹出窗口大于用户的视口时,如何仅执行此操作 我正在尝试使用插件,但无法让它响应: 你可以用 overflow-y: auto 这使得滚动条仅在需要时可见 更新 更新: 您还可以使弹出窗口的内容可滚动,以便标题栏仍在视图中: #confirmDialog .ui-content { overflow-y: auto; } $('#confirmDialog').on({ popupbeforeposition: function() { va

所以我设法做到了。但是,当弹出窗口大于用户的视口时,如何仅执行此操作

我正在尝试使用插件,但无法让它响应:

你可以用

overflow-y: auto
这使得滚动条仅在需要时可见

更新

更新:

您还可以使弹出窗口的内容可滚动,以便标题栏仍在视图中:

#confirmDialog .ui-content {
    overflow-y: auto;
}

$('#confirmDialog').on({
  popupbeforeposition: function() {
      var maxHeight = $(window).height() - 120;
      $('#confirmDialog .ui-content').height(maxHeight);
  }
});


我有一个弹出窗口太大,虽然它是因为一个可搜索的列表。由于我只想在滚动列表时将搜索字段保持在顶部,因此我必须这样做:

$("#confirmDialog").on({
    popupbeforeposition: function (e, ui) {
        var maxHeight = $(window).height() - 100 + "px";
        $("#confirmDialog .ui-content").css("max-height", maxHeight);
    },
    popupafteropen: function (e, ui) {
        var maxHeight = $(window).height() - 150 + "px";
        $("#confirmDialog .ui-content ul").css("max-height", maxHeight).css("overflow-y", "scroll");
    }
});
记住,一旦指定为字符串,就不要对
maxHeight
执行算术,因此这不起作用:

$("#confirmDialog .ui-content").css("max-height", maxHeight - 50);

@MarkBoulder,不客气,如果您只想滚动内容而不是整个弹出窗口,请参阅此更新:
$("#confirmDialog .ui-content").css("max-height", maxHeight - 50);