提问人:Laurence MacNeill 提问时间:2/14/2023 更新时间:2/14/2023 访问量:61
jQuery-Mobile 花哨的弹出框适用于 jQuery 2.1.3,但与 jQuery 2.2.4 一起使用
jQuery-Mobile fancy popup box works with jQuery 2.1.3 but breaks with jQuery 2.2.4
问:
几年前,我发现这个“花哨的警报”弹出框用于jQuery mobile。多年来,我一直在我的 Cordova 应用程序中使用它。
最近,我被告知jQuery的2.1.3版本存在安全漏洞,我需要升级。适用于 jQuery Mobile 的最新版本是 2.2.4。 所以我升级到了 2.2.4,但它打破了我的“花哨警报”弹出框。
这是我的代码:
function fancyAppAlert(alertContent){
if ($("#fancyAlertPopup").length === 0) {
$(':mobile-pagecontainer').pagecontainer('getActivePage').append('<div style="padding-top: 10px; ' +
'padding-bottom: 20px; padding-left: 20px; padding-right: 20px; width: 86%" data-role="popup" ' +
'id="fancyAlertPopup" data-theme="a" class="ui-content"><a href="#" data-rel="back" ' +
'class="ui-btn ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">' +
'Close</a><h4 id="fancyAlertText">' + alertContent + '</h4></div>').trigger("create");
} else {
$('#fancyAlertText').html(alertContent);
}
$("#fancyAlertPopup").popup( "open",{transition: "flip"} );
}
当我使用jQuery 2.1.3时,上面的代码会弹出一个警报窗口,显示.当我使用jQuery 2.2.4时,完全相同的代码给了我以下错误:alertContent
Uncaught TypeError: Cannot read properties of undefined (reading 'trigger')
很明显,是.trigger(“create”)破坏了它,但我不知道为什么。我找不到任何文档提到版本 2.1.3 和 2.2.4 之间的任何重大更改。有谁知道如何解决这个问题?我无法升级到 jQuery 3.x.x,因为我必须拥有 jQuery Mobile 1.4.5,而 jQuery 3.x.x 不适用于 jQuery Mobile 1.4.5。
感谢您提供的任何帮助。
答:
0赞
Laurence MacNeill
2/14/2023
#1
好吧,显然jQuery 2.2.4与jQuery Mobile 1.4.5不兼容。显然,与jQuery Mobile兼容的最新版本是2.1.4。这很烦人......
评论