[英]Hide an element when it touches other elements on the page with jQuery
[英]jQuery: Prevent page scroll when user's finger touches an element
我正在使用以下jQuery插件: http : //willowsystems.github.io/jSignature/
我正在尝试做一个非常简单的操作,即当用户的手指在签名区域内时停止页面滚动(在手机上写签名时,页面移动非常糟糕,以至于根本无法写出签名) )。 我尝试了以下在Firefox中不起作用的方法,但不确定为什么:
$('.signature').on('touchmove', function(e) {
e.preventDefault();
});
我也尝试过这不起作用:
$(document).delegate('.signature', 'touchmove', false);
我搜索了几个小时,但似乎找不到任何有效的方法。 如果需要更多详细信息,请让我知道,我将很乐意补充此问题。
非常感谢大家的帮助。
编辑:我正在手机上使用最新版本的Firefox。
尝试在html元素的ontouchmove
上使用e.preventDefault()
。
<div class="signature" ontouchmove="event.preventDefault();">
</div>
这个例子对我有用 : http : //jsbin.com/pulul/1/edit?html,css,output
Android浏览器中的字段中存在相同问题。 捕获签名获取点而不是sig。 因此,在浏览器中进行测试时,我发现当我用鼠标单击jSignature时,焦点不会从先前的字段丢失。 因此,尝试这样的事情:
onblur="if(this.value.length>1) document.getElementById('CustomerSignature').focus()"
Welp,您将看到onblur在您触摸jSignature时不会触发,而在您触摸其他字段时会触发。 有呀。 尚未能够在平板电脑上重现报告给我的确切错误; 但我认为滚动条正在发送到ANOTHER元素。
因此,解决方法是强制将焦点更改为jSignature。 那就是我所想的。 现在,我摆弄HTML,所以我的最后一个字段是select,并使用onchange将焦点设置到我的jSig。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.