标签: touch

媒体查询以检测设备是否为触摸屏

使用媒体查询时最安全的方法是什么,以便在不在触摸屏设备上时发生某些事情?如果没有办法,你建议使用像!window.TouchModernizr 这样的JavaScript解决方案吗?

css touch media-queries

117
推荐指数
7
解决办法
9万
查看次数

Javascript拖放触摸设备

我正在寻找适用于触摸设备的拖放插件.

我想要与jQuery UI插件类似的功能,它允许"droppable"元素.

jqtouch插件支持拖动操作,但没有落下.

是拖放,只支持iPhone/iPad.

任何人都可以指向一个适用于android/ios的拖放插件的方向吗?

...或者有可能更新jqtouch插件的droppability,它已经在Andriod和IOS上运行.

谢谢!

javascript jquery jquery-ui touch

116
推荐指数
5
解决办法
13万
查看次数

禁用移动浏览器上的悬停效果

我正在编写一个旨在从台式机和平板电脑上使用的网站.当从桌面访问它时,我希望屏幕的可点击区域点亮:hover效果(不同的背景颜色等).使用平板电脑,没有鼠标,所以我不想要任何悬停效果.

问题是,当我在平板电脑上点击一些东西时,浏览器显然有某种"隐形鼠标光标",它移动到我点击的位置,然后将其留在那里 - 所以我刚刚点击的东西点亮了悬停效果,直到我点击其他东西.

我在使用鼠标时如何获得悬停效果,但在使用触摸屏时抑制它们?

如果有人想提出建议,我不想使用用户代理嗅探.同样的设备可能同时具有触摸屏和鼠标(今天可能不常见,但将来会更加如此).我对该设备不感兴趣,我对它目前的使用方式感兴趣:鼠标或触摸屏.

我已经尝试挂钩touchstart,touchmovetouchend事件,并呼吁preventDefault()对所有的人,这确实抑制"隐形鼠标"的一些时间; 但是如果我在两个不同的元素之间来回快速点击,经过几次点击它就会开始移动"鼠标光标"并点亮悬停效果 - 这就像我preventDefault并不总是很荣幸.除非必要,否则我不会厌倦你的细节 - 我甚至不确定这是正确的方法; 如果有人有更简单的解决方案,我会全力以赴.


编辑:这可以用沼泽标准的CSS :hover重现,但这里有一个快速的repro供参考.

<style>
  .box { border: 1px solid black; width: 150px; height: 150px; }
  .box:hover { background: blue; }
</style>
<div class="box"></div>
<div class="box"></div>
Run Code Online (Sandbox Code Playgroud)

如果你鼠标悬停在其中任何一个框上,它将获得我想要的蓝色背景.但是如果你点击其中任何一个盒子,它也会得到一个蓝色背景,这是我试图阻止的事情.

我还在这里发布了一个示例,它可以完成上述操作并且还可以挂钩jQuery的鼠标事件.您可以使用它来查看点击事件也会触发mouseenter,mousemove以及mouseleave.

javascript hover touch

111
推荐指数
6
解决办法
10万
查看次数

如何删除/忽略:在触摸设备上悬停css样式

:hover如果用户通过触摸设备访问我们的网站,我想忽略所有CSS声明.因为:hoverCSS没有意义,如果平板电脑在点击/点击时触发它,它甚至会令人不安,因为它可能会坚持直到元素失去焦点.说实话,我不知道为什么触摸设备:hover首先需要触发- 但这是现实,所以这个问题也是现实.

a:hover {
   color:blue;
   border-color:green;
   // etc. > ignore all at once for touch devices
}
Run Code Online (Sandbox Code Playgroud)

那么,(如何):hover在声明触摸设备之后,我可以一次性删除/忽略所有CSS 声明(不必知道每一个)吗?

html css hover touch

111
推荐指数
8
解决办法
14万
查看次数

jquery-ui可排序| 如何让它在iPad/touchdevices上运行?

如何在iPad和其他触摸设备上使用jQuery-UI可排序功能?

http://jqueryui.com/demos/sortable/

我试图使用event.preventDefault();,event.cancelBubble=true;event.stopPropagation();,touchmove以及scroll事件,但结果是页面不再滚动.

有任何想法吗?

scroll jquery-ui touch jquery-ui-sortable ipad

110
推荐指数
2
解决办法
6万
查看次数

用手指,Android绘制画布

我需要建立一个用手指在画布上绘画的项目,

得到我的手指的触摸事件和动作事件,然后绘制.

任何人都可以建议我如何开始项目,

什么是做这样的事情的最佳组件?

android drawing touch android-canvas

110
推荐指数
4
解决办法
12万
查看次数

从Android中的事件处理方法返回的布尔值的含义是什么

在android中,大多数事件侦听器方法返回一个布尔值.那个真/假值是什么意思?什么会导致子序列事件?

class MyTouchListener implements OnTouchListener {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        logView.showEvent(event);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

关于上面的例子,如果在onTouch方法中返回true ,我发现每个触摸事件(DOWN,UP,MOVE等)都是根据我的logView捕获的.相反,如果返回false,则仅捕获DOWN事件.所以似乎返回false会阻止事件传播.我对么 ?

此外,在OnGestureListener中,许多方法也必须返回一个布尔值.它们有相同的含义吗?

events android return listener touch

109
推荐指数
3
解决办法
4万
查看次数

是否存在与'touchstart'事件相同的e.PageX位置,因为有点击事件?

我试图用一个touchstart事件的jQuery获得X位置,与live函数一起使用?

$('#box').live('touchstart', function(e) { var xPos = e.PageX; } );
Run Code Online (Sandbox Code Playgroud)

现在,这可以使用'click'作为事件.如何(不使用alpha jQuery Mobile)我是否通过触摸事件获得它?

有任何想法吗?

谢谢你的帮助.

javascript jquery events click touch

102
推荐指数
4
解决办法
10万
查看次数

jQuery UI滑块移动设备上的触摸和拖放支持

我已经在项目中设计并实现了jQuery UI滑块.虽然它可移动并且可以正确缩放,但它不允许轻击和拖动.相反,你必须触摸滑块的位置.jQuery移动UI支持这一点,但我有时间投入已有的东西.

我们想要的功能: 这里
我们使用的是:在这里

在桌面上你无法区分.在移动设备上很明显.

任何人都知道如何将此支持添加到jquery UI?

$("#cameraSlider").slider({
  value: 2,
  min: 1,
  max: 3,
  step: 1,
  slide: function(event, ui) {
    cameramen = ui.value;
    return calcTotal();
  }
});
Run Code Online (Sandbox Code Playgroud)

谢谢,赛斯

jquery jquery-ui touch jquery-ui-slider

97
推荐指数
2
解决办法
8万
查看次数

触摸设备上的jQuery UI滑块

我正在使用jQuery UI开发一个网站,我的网站上有几个元素在触摸屏设备上查看时似乎不兼容; 它们不会导致任何错误,但行为不是应该的.

有问题的元素是jQuery UI定义的滑块和rangeliders; 在触摸屏上,不是将触摸注册为拾取手柄和拖动,而是将手柄拖过滑块,而只是将整个网页滑动到屏幕的一侧.如果您点击手柄然后点击滑块上您希望手柄最终的位置,它确实有效,但这非常慢而且不理想.有任何想法吗?

我尝试下载jqtouch插件,然后附加.touch([...])到所有对slider()和rangeslider()的调用,但这不起作用.

谢谢!

更新:我在jQuery UI网站上找到了这个"补丁"

http://bugs.jqueryui.com/ticket/4143

这说明它有利于iPhone上的滑块,但现在又出现了另一个愚蠢的问题:如何将这个"补丁"合并​​到我的代码中?我是否只是像插件一样将它包含在代码的开头?

slider touch jqtouch

95
推荐指数
4
解决办法
8万
查看次数