是否可以检查光标是否在项目上?在我的情况下,我不能使用focus(),mouseenter()或任何相关的方法,但我只需要找出鼠标是否在它上面。
答案 0 :(得分:2)
这可能有用吗? event.target
例如:
function handler(ev) {
var $target = $(ev.target);
if( $target.is("#element") ) {
alert('Here am I !');
}
}
$("#element").hover(handler);
此处稍作修改删除元素
function handler(ev) {
var $target = $(ev.target);
if( $target.is("#element") ) {
$target.remove();
}
}
$("#element").mouseleave(handler);
答案 1 :(得分:2)
在这种特殊情况下,您可以在要隐藏的覆盖元素之上创建透明覆盖元素,而不是检查鼠标的状态。
因此,当该区域悬停时,它会显示,而当它不是被隐藏时 显然使用默认设置要隐藏的元素(直到悬停) display:none;在你的css中 - 因此它只会在徘徊时显示给用户眼睛。
我知道这不是OP所要求的,但它确实有效。
$(document).ready(function(){
/*
* #object is your element you
* want to hide unless hovered
*/
$("#object").on("mouseleave", function(){
// divs you want to hide/show
$('#object').hide();
$('#overlay').show();
})
/*
* #overlay is the transparent element
* that will sit over the top of #object
*/
$("#overlay").on("mouseenter", function(){
// divs you want to hide/show
$('#object').show();
$('#overlay').hide();
})
});
看到它在这里工作http://jsfiddle.net/si_jsfiddle/CvkyE/
这是一个很好的选择,因为mouseenter和mouseleave不会受到顶部对象的影响,特别是在on()方法中设置了tag对象参数,这也是为什么它们对于带有链接的div容器非常有用的原因在顶部等...
答案 2 :(得分:0)
http://api.jquery.com/mouseover/这里是jquery函数。它也有一个很好的例子。
答案 3 :(得分:0)
<input etc.... onmouseover="if (condition){calltoafunction();"}>
On Javascript:如果Cursor位于Item上,则条件有效。