HTML5如何控制touch的区域

 我来答
yan3625729
2014-09-24 · 超过32用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:52.6万
展开全部

//选中条件 x1=横轴位置 y1=纵轴位置 

var x1, x2, y1, y2;

$(document).on("touchstart",".smallbox", function (e) {

   // e.preventDefault();

    var obj = $(this);

    var position = $(this).offset();    

    x1 = position.left;

    x2 = position.left + obj.width();

    y1 = position.top;

    y2 = position.top + obj.height();//触摸时将变量赋值

}).on("touchend", ".smallbox", function (e) {

    var pos = e.originalEvent.changedTouches[0];

    if (pos.pageX >= x1

        && pos.pageX <= x2

        && pos.pageY >= y1

        && pos.pageY <= y2) {//判断当前的点击位置是否在有效范围内

        var obj = $(this);

        if (obj.hasClass("active")) {

            obj.removeClass("active");

        } else {

            obj.addClass("active");

        }

    }    

    e.preventDefault();

}).on("click", ".smallbox", function () {

    var obj = $(this);

    if (obj.hasClass("active")) {

        obj.removeClass("active");

    } else {

        obj.addClass("active");

    }

});

哈哈女神笑哈哈
2015-09-18 · TA获得超过852个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:38.8万
展开全部

可以选择坐标控制区域:

function load (){
 
    document.addEventListener('touchstart',touch, false);
    document.addEventListener('touchmove',touch, false);
    document.addEventListener('touchend',touch, false);
     
    function touch (event){
        var event = event || window.event;
         
        var oInp = document.getElementById("inp");
 
        switch(event.type){
            case "touchstart":
                oInp.innerHTML = "Touch started (" + event.touches[0].clientX + "," + event.touches[0].clientY + ")";
                break;
            case "touchend":
                oInp.innerHTML = "<br>Touch end (" + event.changedTouches[0].clientX + "," + event.changedTouches[0].clientY + ")";
                break;
            case "touchmove":
                event.preventDefault();
                oInp.innerHTML = "<br>Touch moved (" + event.touches[0].clientX + "," + event.touches[0].clientY + ")";
                break;
        }
         
    }
}
window.addEventListener('load',load, false);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式