問題は、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;
}
}
お役に立てれば。