Tôi đang cố gắng sử dụng cửa sổ bật lên của jQuery Mobile 1.3.1 để cảnh báo người dùng khi thông tin đăng nhập sai. Tôi bắt đầu với một mẫu cơ bản từ tài liệu của jquerymobile, nhưng tôi không thể làm cho nó hoạt động với $('#popupBasic').popup('open');
Nếu tôi sử dụng nó theo cách này;Cửa sổ bật lên jQuery Mobile không mở trên .popup ('open')
<div data-role="page">
<div data-role="header" data-tap-toggle="false">
</div><!-- /header -->
<div data-role="content">
<a href="#popupBasic" data-rel="popup">Tooltip</a>
<div data-role="popup" id="popupBasic">I will change this text dynamically if this popup works</div>
</div><!-- /content -->
</div><!-- /page -->
Nó hoạt động tốt khi tôi nhấp vào liên kết Chú giải công cụ. Nhưng trong trường hợp của tôi không có bất kỳ nhấp chuột vì vậy tôi đang cố gắng này;
if(retVal){
$.mobile.changePage('index');
}
else{
$('#popupBasic').popup();
$('#popupBasic').popup("open");
}
này là sau khi chức năng đăng nhập ajax của tôi làm cho một callback, vì vậy retval là đúng nếu không có bất kỳ lỗi nào, false nếu có (và tại thời điểm đó tôi đang cố gắng để hiển thị cửa sổ bật lên). Bằng cách này, tất cả phần js của tôi là trong
$(document).on('pageinit', function(){});
vì vậy tôi đợi cho đến khi jquerymobile sẵn sàng cho trang.
gì xảy ra khi tôi làm điều này là trên các trình duyệt máy tính để bàn liên kết thay đổi như
http://localhost/login#&ui-state=dialog
nhưng không hiển thị các cửa sổ pop up. Sau khi một số làm mới và lưu trữ nó bắt đầu hiển thị. Trên iOS điều tương tự cũng xảy ra nhưng trên Android đôi khi nó thay đổi liên kết một thời gian nó không.
Tôi sẽ thực sự hạnh phúc nếu ai đó có thể giúp tôi giải quyết vấn đề này. Cảm ơn trước.