javascript - 将触摸屏设备的 ('hover' ) 更改为 ('click' )?

标签 javascript jquery

我有一个名为 isTouchscreen 的 bool 变量和一些 on('hover', ...) 事件。如果 isTouchscreen bool 变量等于 true,那么我需要将 on('hover') 事件更改为 on('click') 事件。这可能吗?

类似于:

 $(".smart-suggestions").on("hover", ".option", function(){
    $('.img-container img').show();
    //and do more stuff....
 });

    if(touchscreen==true){
       //change onhover event to onclick event  
    }

最佳答案

你可以这样做:

var evt = touchscreen ? 'click' : 'hover';

$(".smart-suggestions").on( evt, ".option", function(){/*.....*/});

如果您需要这两个事件的替代方法:

$(".smart-suggestions").on('click hover', ".option", function(event){
       /* create whatever conditions you need*/
      if( event.type=='click' && touchscreen){
            doThis();
       }else{
              doThat();
       }
});

关于javascript - 将触摸屏设备的 ('hover' ) 更改为 ('click' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14026198/

相关文章:

javascript - 通过 jQuery 从 div 获取数据到模态

javascript - .js 文件的 Apache AddType 指令不起作用

jquery - 使用 jQuery 上传和裁剪个人资料图片

javascript - Bootstrap 3轮播中的排队点击事件

javascript - 如何使用 JavaScript 滚动到目标 html 部分的垂直中心?

javascript - 如何打印整个 Bootstrap 模态,其中模态主体中的内容被滚动出 View

javascript - jQuery append() 中的 HTML 表格行不起作用

javascript - 在 Meteor 服务器端代码中声明配置的位置

c# - 如何以特定格式存储数据?在所见即所得?

javascript - 使用 puppeteer 动态更改元素样式