在 iOS 上,我想禁用 <body>
上的滚动仅元素,而不是 <body>
中的元素元素。以下代码将禁用拖动 <body>
元素,但也防止拖拽子 div:
$("body").bind("touchstart", function(e) {
e.preventDefault();
});
这是否只影响父 div,而不影响父 div 中的子 div (<body>
)?我想也许$("#yourdiv").parent()
会工作,但没有运气。
编辑:这个链接虽然解决了同样的问题,但没有解决我的问题:prevent app dragging but permit scroll of inner div elements in ios
最佳答案
$("body").bind("touchstart", function(e) {
if(e.target.nodeName === "BODY"){
e.preventDefault();
}
});
您可以检查事件的 target
- 不能 100% 确定这在 iOS 上是如何进行的,但我认为应该没问题。
另一种可能性是首先阻止事件传播。
$("*:not(body)").bind('touchstart', function(e){
e.stopPropagation();
});
但这只是一个想法,我也不完全确定它是否可行。
关于javascript - 仅在 "body"元素上禁用拖动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12756476/