iPadのSafariで深刻な問題が発生しました。新しいコンテンツ編集機能は、touchmoveイベントでは機能しないようです。コード:
...
<script>
function doNothing(event) { return; }
function initIFrame() {
var iframe=document.getElementById("iframeedit");
iframe.contentWindow.document.designMode="on";
iframe.contentWindow.document.addEventListener("touchmove", doNothing, true);
}
</script>
</head>
<body onload="initIFrame()">
<iframe style="width:500ppx;height:200px" src="content.html" id="iframeedit"></iframe>
...
ドキュメントのどこかにtouchmoveを追加すると、touchmoveの後で編集可能なコンテンツを編集できなくなります(指を押したままにすると拡大鏡が表示されます)。カーソルは設定できますが、画面キーボードによる入力はできなくなりました。
テストスクリプト(iPad + iOS5用): http: //flyingdog.biz/tests/ipad/test2.html
動作している別のテストスクリプト:http: //flyingdog.biz/tests/ipad/test1.html
他のスクリプトでわかるように、iFrameの前に数行のテキストを配置しました-非常に奇妙です!別の/より良い回避策を探していますか、それとも何か間違ったことをしましたか?touchmoveイベントがなくても機能しますが、優れた編集エクスペリエンスのためにこれが必要です。