Результат ошибки типа выражения $(this).simpledialog [undefined] не является функцией
Я следую за http://dev.jtsage.com/jQM-SimpleDialog/demos/string.html
Ссылка для создания диалога с помощью мобильного телефона jquery Я определил следующее в моем 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 не является функцией. Какую ошибку я делаю?..
1 ответ
Я надеюсь, что вы инициализировали js- файл jQM-SimpleDialog, потому что это сторонняя реализация диалога, и его нельзя найти в классической среде 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');
});
});