问题是 WinJS 实际上对动画做了一些内联样式。没有办法使用 CSS 禁用它。但是,我们可以使用 JavaScript 的强大功能来重置函数的功能。
window.addEventListener("resize", handleResize);
var origFunc = WinJS.UI._SelectionMode.prototype.togglePressed;
function handleResize(evt) {
var currentViewState = Windows.UI.ViewManagement.ApplicationView.value;
if (currentViewState === 2) {
WinJS.UI._SelectionMode.prototype.togglePressed = function (add) {};
}
else {
WinJS.UI._SelectionMode.prototype.togglePressed = origFunc;
}
}
当我看到你的问题时,找到了这个链接,这就是我找到这个解决方案的原因。
http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/847cefe9-30f6-4f05-96ad-26ece31b77c5
所有这些代码都在全局空间中。注册调整大小事件
window.addEventListener("resize", handleResize);
将原始函数存储在变量中
var origFunc = WinJS.UI._SelectionMode.prototype.togglePressed;
处理调整大小事件
function handleResize(evt) {
获取当前视图状态
var currentViewState = Windows.UI.ViewManagement.ApplicationView.value;
如果我们处于快照模式,请将函数设置为空
if (currentViewState === 2) {
WinJS.UI._SelectionMode.prototype.togglePressed = function (add) {};
}
否则,将其设置回 WinJS 版本
else {
WinJS.UI._SelectionMode.prototype.togglePressed = origFunc;
}
}
希望这可以帮助。