[英]How to detect if mouse is over an item in jQuery or Javascript
是否可以檢查 cursor 是否超過一個項目? 在我的情況下,我不能使用 focus()、mouseenter() 或任何相關方法,但我只需要找出鼠標是否在它上面。
無需檢查鼠標的 state,在這種特殊情況下,您可以在要隱藏的元素之上創建一個透明覆蓋元素。
因此,當該區域懸停時,它會顯示,而當它不顯示時,它顯然會被隱藏,將要隱藏的元素(直到懸停)設置為默認顯示:無; 在您的 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() 方法中沒有設置標簽 object 參數的情況下,這也是為什么它們非常適合帶有頂部鏈接的 div 容器等...
這有用嗎? 事件.目標
前任:
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);
http://api.jquery.com/mouseover/這里是 jquery ZC1C4145268E47A98 它也有一個很好的例子。
<input etc.... onmouseover="if (condition){calltoafunction();"}>
在 Javascript 上:如果 Cursor 超過一個項目,那么如果條件工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.