JQM多选解除不触发pagebeforeshow事件

时间:2013-06-12 06:23:45

标签: android events drop-down-menu jquery-mobile

我在使用JQM多选框时遇到此问题。在浏览器上,当我打开选择列表时,源页面完全隐藏在对话框后面 - 当我关闭对话框时,我使用源页面上的 pagebeforeshow 事件来读取选择。这在浏览器中工作正常,但在手机中,如果选择列表很小,则不会隐藏源页面,并且 pagebeforeshow 事件永远不会被触发。为了测试这个,我做了一个更大的选项列表,在这种情况下,源页面完全隐藏在对话框后面。取消对话框后, pagebeforeshow 事件将正确触发。 我对 pagebeforeshow 的使用是试图在我可以挂钩的对话框上没有关闭事件......所以有两个问题:

  1. 我可以参加哪一项活动?我环顾网络,在SO中 并且所提出的解决方案似乎都不适用于我,也不适用于 (多)选择框。
  2. 有什么方法可以强制对话 总是在设备上以全屏模式打开?
  3. 校正: 浏览器中的行为相同 - 当我测试时,只是没有足够小的列表...

    还有一件事 - 占位符不会在选择页面最大化时显示 - 只有当它是一个小弹出窗口时...(在chrome和android上) 更正:在最大化模式下,仅显示“删除”图标 - 没有占位符文本

1 个答案:

答案 0 :(得分:0)

好吧,我用两种方式解决了这个问题,两者都涉及删除标题div。

对于整页对话框:

$("body").on("pagebeforeshow", "#filter-dialog", function(){
    $(this).find("div.ui-header").remove();
});

和弹出对话框:

$("#my-page").on('pagebeforeshow', function(event){
    $("#filter-listbox").find("div.ui-header").remove();
});
某天某某人有HTH ......