首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使鼠标悬停时的img src更改适应于触摸屏设备

使鼠标悬停时的img src更改适应于触摸屏设备
EN

Stack Overflow用户
提问于 2017-09-06 07:48:10
回答 2查看 971关注 0票数 1

我使用mouseover/mouseoutdata-src/data-hover来显示图形链接,这些链接可以改变悬停状态下的<img> src

我怎样才能使代码变得对触摸友好?有没有更干净/更简单的方法来实现同样的功能?我已经在jQuery手机上试用过vmouseover了,但不起作用。

我没有使用CSS :hover,因为它是一个特定的图形,在滚动时必须改变颜色,所以我不能用它作为起点。

每个链接的HTML设置:

代码语言:javascript
复制
<a href="/books">
  <img id="book" class="image image-3" data-hover="/assets/graphics/ro-book@2x.png" data-src="/assets/graphics/book@2x.png">
</a>

脚本:

代码语言:javascript
复制
$(".image-3").mouseover(function() {
  $(this).attr('src', $(this).data("hover"));
}).mouseout(function() {
  $(this).attr('src', $(this).data("src"));
});
EN

回答 2

Stack Overflow用户

发布于 2017-09-06 09:51:18

别忘了你应该在移动设备上使用触摸事件而不是鼠标事件。

我建议使用touchstart事件。

代码语言:javascript
复制
$(".image-3").touchstart(function() {
  $(this).attr('src', $(this).data("hover"));
}).touchend(function() {
  $(this).attr('src', $(this).data("src"));
});
票数 3
EN

Stack Overflow用户

发布于 2017-09-06 12:47:05

这终于起作用了,虽然不确定语法改变做了什么,但我很满意。

代码语言:javascript
复制
$('.image-3').bind('touchstart touchend', function(e) {
    $(this).attr('src', $(this).data("hover"));
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46064797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档