0

我正在关注http://dev.jtsage.com/jQM-SimpleDialog/demos/string.html使用jquery mobile创建对话框的链接我在我的html中定义了以下内容

 <div data-role="popup" id="Savepopup" class="ui-corner-all" style="background: url(Image/PopupBackground.png); background-size: 100% 100%;background-repeat: no-repeat;">
    <div id="datalink">
        <a href="#" data-inline="true" data-rel="dialog" ><img src="Image/Button.png" width="100%" height="" ></a>
    </div>
    </div>

and in js file i have defined the following



 $(document).delegate('#datalink', 'click', function() {
    $(this).simpledialog({
    'mode' : 'string',
    'prompt' : 'What do you say?',
    'buttons' : {
      'OK': {
        click: function () {
         // var name = text($('#datalink').attr('data-string'));
          //console.log("name name "+name);
          alert("data was entered");
        }
      },
      'Cancel': {
        click: function () { },
        icon: "delete",
        theme: "c"
      }
    }
  });
});

但是当我单击按钮打开对话框时,我收到错误消息说 $(this).simpledialog 不是函数。我在做什么错?...

4

1 回答 1

0

我希望你已经初始化了 jQM-SimpleDialog js文件,因为这是一个第 3 方对话框实现,在经典的 jQuery Mobile 框架中找不到它。

如果您只需要使用基本对话框,那么我建议您使用普通的 jQM对话框

基本上你的错误是说找不到 simpledialog 函数,那是因为它没有初始化。

我为您制作了经典 jQM 对话框的工作示例:http: //jsfiddle.net/Gajotres/Jx9xM/

$(document).on('pageinit', '#mainPage', function(){ 
    $(document).on ('click','#createEvent', function () {        
        $.mobile.changePage('#addCatForm', {
            transition: 'pop',
            changeHash: true,
            role: 'dialog'
        });
    });

    $(document).on('click','#canCat',function () {
        $('#addCatForm').dialog('close');
    });        
});
于 2013-05-10T08:29:52.543 回答