javascript通过touchenter事件更改元素的bg颜色

时间:2015-06-24 07:31:05

标签: javascript jquery event-handling touch-event

我有一个5 * 5网格,我想要做的是模仿绘图动作,而不是当我按下(用我的手指,它被认为是一个移动应用程序)在一个方格上它改变它的背景颜色。 我已经成功完成了这一部分并且工作正常。

我现在要做的是,当我将手指移到屏幕上时,它会改变我的手指按下的每个方格的颜色(将其表面变为画面)。

我知道有一个touchenter事件,但我不明白我怎么能用它 我阅读了一些教程和文章,并且到处都说它是touchenter事件不会冒泡......

https://jsfiddle.net/uLfm5szz/2/

任何帮助都会非常棒!

HTML

<div id="demo"></div>

CSS

.b{
    width: 50px; 
    height: 50px; 
    display: inline-block;
    border: red 1px solid;
}

JS

createLoop();
$('.b').bind('touchmove',StartDragSelect);

function createLoop(){
    var length = 30;
    var text = "";
    var demo = $("#demo")
    for (i = 0; i < length; i++) {
     var rowElement = $('<div class="a"></div>');
     demo.append(rowElement);
        for(var x = 0; x < length; x++){
            createGridItem(rowElement,i,x);
        }
    }
}

function createGridItem(rootElement, i, x){
    var pix = 10;
    var currItem = $('<div class="b" id="a'+i+x+'" style="top:' + i*pix +'px; left: ' + x*pix +'px;  background-position-x: -' + x*pix +'px ; background-position-y:-' + i*pix +'px";"></div>');
    $(rootElement).append(currItem);
}

function StartDragSelect(obj)
{
    obj = obj.currentTarget;
    $(obj).css({"background-color":"blue"});    
}

0 个答案:

没有答案