我不是在寻找一个行动调用的时候徘徊,而是以某种方式告诉如果一个元素正在上空盘旋目前.例如:
$('#elem').mouseIsOver(); // returns true or false
Run Code Online (Sandbox Code Playgroud)
是否有一个jQuery方法来实现这一目标?
使用媒体查询时最安全的方法是什么,以便在不在触摸屏设备上时发生某些事情?如果没有办法,你建议使用像!window.TouchModernizr 这样的JavaScript解决方案吗?
: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 声明(不必知道每一个)吗?
Android支持onLongPress上的事件.我的问题是"多长时间"(以毫秒为单位)是触发事件的"按压"?
我需要在调用touchend事件时发现手指下面的html元素.我正在使用的代码;
$('.wsSquare').on("mouseup touchend",function(event){
event.preventDefault();
event.stopPropagation();
console.log($(event.target).data());
});
Run Code Online (Sandbox Code Playgroud)
在(非触摸)设备上使用鼠标,此代码在mouseup事件发生时正确记录与鼠标下的元素关联的数据.
但是在触摸设备(ipad safari)上,event.target是touchstart事件期间手指下的元素,并在touchstart事件下记录元素的数据
我还检查了touchmove事件的行为,这也有相同的行为(event.target是touchstart元素).似乎所有触摸事件的目标是在手势开始时触摸的元素.
调用touchend事件时,我需要访问手指下的元素.我的手势可能会遍历许多元素.
进一步的研究从规范中挖掘出来.
5.5 touchend事件
用户代理必须调度该事件类型以指示用户何时从触摸表面移除触摸点,还包括触摸点物理地离开触摸表面的情况,例如被拖离屏幕.
此事件的目标必须与触摸点首次放置在曲面上时开始的元素相同,即使触摸点已移动到目标元素的交互区域之外.
删除的一个或多个触点必须包含在TouchEvent的changedTouches属性中,并且不得包含在touches和targetTouches属性中.
所以观察到的行为是正确的,我该如何改变这种行为呢?
单击"提交"或"重置"按钮后,按钮颜色将保持悬停颜色,并且在您单击页面中的其他位置之前不会返回到原始的"预先单击"按钮颜色.
我基本上希望按钮颜色在单击后更改回原始颜色.任何人都可以建议如何做到这一点?
提前致谢.
CSS/HTML:
.form input:focus {
background: #FFFFAD;
outline: none;
}
.buttons {
text-align: left;
}
.buttons input {
font-size: 2.5em;
font-weight: bold;
font-family: "Arial", serif;
padding: 8px 40px;
background: #4470B6;
border: 0px;
margin-left: 0px;
margin-right: 50px;
margin-top: 50px;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
-webkit-box-shadow: 0 0 4px rgba(0, 0, 0, .75);
-moz-box-shadow: 0 0 4px rgba(0, 0, 0, .75);
box-shadow: 0 0 4px rgba(0, 0, 0, .75);
color: #FFFAFA;
}
.buttons input:hover,
.buttons input:focus {
background-color: #50627E; …Run Code Online (Sandbox Code Playgroud)我有一个带有悬停状态的简单菜单:
<nav id="menu">
<div><a href="#">Home</a></div>
<div>
<a href="#">1</a>
<nav>
<div><a href="#">1.1</a></div>
<div><a href="#">1.2</a></div>
<div><a href="#">1.3</a></div>
</nav>
</div>
</nav>
Run Code Online (Sandbox Code Playgroud)
CSS:
#menu > div > nav {
display: none;
position: absolute;
z-index: 9999;
}
#menu > div:hover > nav {
display: block;
}
Run Code Online (Sandbox Code Playgroud)
但是 :hover 状态永远不会结束。再次点击(其他地方)后:悬停仍然停留。我可以在没有 javascript 的情况下解决这个问题吗?(小提琴)
似乎摆脱 :hover 的唯一方法是 :focus 某个地方 ( element.focus()) 或悬停在其他地方。