[英]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.