Javascript 未调用touchenter事件
有人能告诉我为什么TouchCenter事件在此代码中不起作用吗。鼠标器在桌面上运行良好。应该很简单,但我遗漏了一些东西 例如: 完整代码如下:Javascript 未调用touchenter事件,javascript,jquery,touch,touch-event,Javascript,Jquery,Touch,Touch Event,有人能告诉我为什么TouchCenter事件在此代码中不起作用吗。鼠标器在桌面上运行良好。应该很简单,但我遗漏了一些东西 例如: 完整代码如下: <!DOCTYPE html> <html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> </head>
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<img id="myImg" src="http://jackiehutchings.com/wp-content/uploads/2011/09/g-plus-icon-96x96.png" />
<script>
$(window).load(function() {
$('#myImg').on("touchenter mouseenter", function(event){
alert('entered!');
});
});
</script>
</body>
</html>
$(窗口).load(函数(){
$('#myImg')。打开(“触摸输入鼠标”,函数(事件){
警报('entered!');
});
});
也许这样的方法行得通
var elementIdTouching = "";
$('body').on("touchmove", function(e){
var tList = e.touches; // get list of all touches
for (var i = 0; i < tList.length; i++) {
var thisTouch = tList[i]; // not 100% sure about this
var elementTouching = document.elementFromPoint(
thisTouch.screenX,
thisTouch.screenY
);
if (elementTouching.id != elementIdTouching) {
elementIdTouching = elementTouching.id;
if (elementTouching.id == "myImg") {
alert("entered!");
}
}
}
}).on("touchend", function(e){
elementIdTouching = "";
});
$('#myImg').on("mouseenter", function(e){
alert('entered!');
});
var elementIdTouching=“”;
$('body')。打开(“触摸移动”,函数(e){
var tList=e.touchs;//获取所有触摸的列表
对于(变量i=0;i
t列表~
免责声明:我还没有测试过它。你确定它在Windows Phone上对我有效吗?什么浏览器?在Android手机或iPad上不工作。在手机上,我尝试了标准浏览器和Opera。在ipad上,它对我来说很好用。当你使用它时,它工作得很好。你在找hover in touch吗?我做了一些额外的测试。据我所知,“触摸输入”似乎只有在我触摸并释放元素时才会触发。就像一个简单的水龙头。“touchmove”可以正常工作,但它是从触摸开始的元素调用的,而不是从触摸当前结束的元素调用的。每次调用“touchmove”来确定当前结束的元素时,进行XY计算似乎是不合理的。它可以每秒调用几百次。如果“TouchCenter”按我理解的方式工作(如桌面上的mousemove),它会更高效。我从来没有让TouchCenter正常工作过。也没有在网上找到太多有用的信息。使用getElementFromPoint触摸移动速度非常慢,我尝试了。不过,我是在与数百种元素进行比较。只要几个就行了。如果要比较的元素没有移动,请尝试以下操作:当页面加载时,将每个元素的开始和结束XY值放入数组中。调用touchmove时,通过与事件的XY值进行比较来遍历数组。我用这种方法几乎没有减速。它远比getElementFromPoint高效。祝你好运。这种方法确实有效,但速度很慢。不过我想出了一个解决办法。(见我上面的评论)。根据quirksmode,
clientX
和clientY
将是比screenX
和screenY
更好的选择: