在我的移动网络应用中,我有这个
//Prevent scrolling in entire document
document.ontouchmove = function(e){ e.preventDefault(); }
..因为身体无法滚动,所以它看起来要少得多'webby'。
不幸的是,这也阻止了我工作的输入滑块(仅限iPhone,在Chrome中工作正常)
<input type="range" class="slider" min="1" max="50">
如何撤消此特定元素的preventDefault?
答案 0 :(得分:1)
只有当目标不是类型范围的输入时,您才可以检查e.target和preventDefault
document.ontouchmove = function(e){
var $target = $(e.target);
if($target.is('input') && $target.attr('type') === 'range'){
//do nothing
}else{
e.preventDefault();
}
}
答案 1 :(得分:1)
试试这个:
document.ontouchmove = function(e){
if(e.target && e.target.className.indexOf('slider')==-1)
e.preventDefault();
}
答案 2 :(得分:0)
如何使用此类滑块执行除preventDefault
之外的其他操作 document.ontouchmove = function(e){
if(e.target.hasClass('slider'))
{ //dosomething }
else
{ e.preventDefault();
}
}