当软键盘启动时,我正在开发的 JQuery Mobile 应用程序往往会崩溃。我已经实现了一个解决方案并且效果很好,但是我必须直接编辑 jquery.mobile-1.2.0.js 才能做到这一点。我宁愿将我的更改保留在扩展 jQuery Mobile 的 jquery.mobile.customizations.js 文件中。
我尝试执行以下操作但没有成功:
delete $.mobile.getScreenHeight;
$.mobile.last_width = null;
$.mobile.last_height = null;
$.mobile.getScreenHeight = function()
{
// My modified version
}
我将警报语句添加到我的$.mobile.getScreenHeight
,加上原来的 $.mobile.getScreenHeight
. 我确实看到我的自定义方法的警报被触发,但有时它也会在原始函数中触发警报。
有谁知道在 $.mobile 中覆盖方法并添加两个新属性的正确方法?
(有关原始问题的完整详细信息在window.resize 中,因为虚拟键盘会导致 jquery mobile 出现问题)
更新:
@elclanrs - 我试图实现下面的代码但没有运气。我也试过交换第二个和第三个参数。每当我运行代码时,它都会触发我的扩展 getScreenHeight,但随后会触发基础 getScreenHeight。(我挖空了原来的 getScreenHeight 并在里面放了一个警报。那个警报永远不应该触发。
打开思想!
$.mobile = $.extend( {}, $.mobile, {
last_width: null,
last_height: null,
getScreenHeight: function() {
// My code...
}
} );