我有这个:
function dontMove(event) {
// Prevent page from elastic scrolling
event.preventDefault();
}
&安培;
<body ontouchmove="dontMove(event);">
在ipad上,这可以阻止它被拖动,并且当你拖动整页以显示时,不允许ipad具有灰色背景。
我在另一个网站上看到它可以在另一个div中反转,以便div再次完全可以拖动。
有谁知道如何扭转它?
我也尝试使用它来防止它(在document.ready中):
document.ontouchmove = function(e){
e.preventDefault();
}
&安培;这样就可以了:
function doTouchMove(state) {
document.ontouchmove = function(e){
return state;
}
}
然后我把它激活它。
<img ontouchmove="doTouchMove(state);" src="../jpeg/pages/01.jpg" class="touch"/>
这似乎不起作用 这有什么不对吗? 或任何其他可行的方式?
答案 0 :(得分:2)
这正是bubbles
稍好一点的原因(至少在我看来)。
bubbles
是跨浏览器,因此您应该可以替换。
e.preventDefault()
与
e.bubbles = false;
然后在您的代码中,您可以将bubbles
重置为true
。
如果以上不是一个选项,那么只需忽略。 :d
另一种选择(如果您只是使用iPad)只是改变DOM的工作方式。
document.addEventListener('click', function(){}, true );
这将迫使事件向另一个方向发挥作用。
Document click execute | | v Element click execute
答案 1 :(得分:0)
尝试这篇帖子,HTML with event.preventDefault并从正文标记中删除 ontouchmove 。
我看起来像这样
<script>
// Get touch move enevt from IOS
document.ontouchmove = function (event) {
if (!event.elementIsEnabled)
event.preventDefault();
};
// Get touch move enevt from IOS
function enableOnTouchMove(event) {
event.elementIsEnabled = true;
};
</script>
然后在你想要的每个标签上启用ontouchmove。即:
<div ontouchmove="enableOnTouchMove(event)" id="listing">
答案 2 :(得分:0)
我设法用
解决了这个问题$('#form1').unbind('submit').submit();
答案 3 :(得分:0)
您可以通过仅在来自身体时阻止事件来解决它:
document.ontouchmove = function(event){
if(event.target.tagName == "BODY"){
event.preventDefault();
}
}