【问题标题】:How to open a Dialogue Box On Page Load如何在页面加载时打开对话框
【发布时间】:2014-11-27 07:52:28
【问题描述】:

我正在尝试在 jquery Mobile 屏幕的页面加载上打开一个对话框。现在我可以在按钮 Click 上打开对话框。我希望对话框在页面加载时自动弹出但不能它。 这是 HTML ..

 <body onload="onLoad()">

 <p style="display: none>You have entered: <span id="dialogoutput"></span></p>

 <a href="#" id="dialoglink" data-role="button" style="display: none>Open Dialog</a>

 <!-- Contacts list page -->
 <div data-role="page" id="cont_list_page" data-theme="a">        
 <div data-role="header" data-position="fixed" data-tap-toggle="false">
 </div>
 </div>
 </body>

这是我的 jquery ..

function onLoad() { 
document.addEventListener("deviceready", onDeviceReady, false);
$("#searchby_chooser_ok_button").bind ("click", searchByCriteria); 

if (typeof Contact === "undefined") {
    getElement("contacts_list").innerHTML = "<p>The Cordova Contacts API is inaccessible</p>";
}
}

请帮我在页面加载时弹出对话框,而不是在按钮点击事件上自动弹出。 谢谢

【问题讨论】:

  • $(document).ready(function() { ..dialog open code here..});
  • 您使用的是哪个 jQM 版本?
  • @Omar 我正在使用 1.2.0
  • 它已经过时并且不再维护,升级到1.4.5。您想在显示之前或显示时在页面加载时显示对话框?
  • 首先更新你的 jQM 版本至少 1.4.4

标签: javascript jquery jquery-mobile cordova


【解决方案1】:

尝试使用$(document).ready(function(){})

$(document).ready(function()
{
  $("#simplestring").simpledialog({
    'mode' : 'string',
    'prompt' : 'Please Enter Your Mobile No.',
    'buttons' : {
      'OK': {
        click: function () {
          $('#dialogoutput').text($('#dialoglink').attr('data-string'));

          //get the Value Entered 
          //Create a Sqlite Database and table 
          //Insert it there 

        }
      },
      'Cancel': {
        click: function () { },
        icon: "delete",
        theme: "c"
      }
    }
  })
});

【讨论】:

  • 如何再次显示可见性,因为我的 HTML 我已设置为无;?
  • 您可以将与Dialog相关的代码放在一个函数中,并可以在document.ready和点击事件监听器中调用该函数
  • 它在手机上不工作..让我再次更新我的帖子?
  • 请看我更新的帖子..我有共享代码..我可以把你的代码放在哪里,这样我就可以在页面加载时看到对话框
  • 您好,我正在发布一个新答案。请看一下
【解决方案2】:

你可以在你的jquery代码中触发点击

$('#simplestring').click();

在页面加载时写下这个语句。它会从你的代码内部触发点击,就像点击处理程序一样,它会打开对话框:)

【讨论】:

    【解决方案3】:
    function onLoad() 
    { 
      openDialogBox();  
      document.addEventListener("deviceready", onDeviceReady, false);
      $("#searchby_chooser_ok_button").bind ("click", searchByCriteria); 
    
     if (typeof Contact === "undefined") {
        getElement("contacts_list").innerHTML = "<p>The Cordova Contacts API is  inaccessible</p>";
     }
    }
    
    function openDialogBox()
    { 
      $("#simplestring").simpledialog({
        'mode' : 'string',
        'prompt' : 'Please Enter Your Mobile No.',
        'buttons' : {
        'OK': {
           click: function () {
             $('#dialogoutput').text($('#dialoglink').attr('data-string'));
           }
         },
         'Cancel': {
           click: function () { },
           icon: "delete",
           theme: "c"
          }
         }
       })
     } 
    

    【讨论】:

    • 我试过了,但在这方面遇到了一些问题。..而不是这个对话框在页面加载时打开,我得到了一些其他的对话框
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多