如果鼠标位于div事件之上,我如何得到一个非常简单的true / false语句= true else event = false
var test = $("#main-nav").on("mouseenter", function (e) {
e.preventDefault();
console.log(e.preventDefault());
return true;
});
if (test === true) {
//do something
} else {
//something different
}
答案 0 :(得分:6)
如果我理解你的问题:
if($("#main-nav").is(":hover")) {
//do something
}else{
//something different
}
在伪代码中:
if the cursor is over #main-nav
do something
if it's not
do something else
如果您希望始终设置test
:
var test = false;
$("#main-nav").on("mouseenter", function(e){
e.preventDefault();
test = true;
}).on("mouseleave", function(e){
e.preventDefault();
test = false;
});
这样,
if(test === true) {
//do something
}else{
//something different
}
将始终工作。
答案 1 :(得分:0)
你可以有一个布尔(true
/ false
)变量,通过这样做不断更新:
var hovering;
$("#main-nav").mouseenter(function(){
hovering = true;
});
$("#main-nav").mouseleave(function(){
hovering = false;
});
所以每当它被调用时它都会告诉你鼠标是否在你的div中:
if (hovering){
// mouse within div
} else {
// mouse not within div
}
答案 2 :(得分:0)
如果您一定需要作为变量:
var test = false;
$("#main-nav").on("mouseenter", function (e) {
test = true;
});
$("#main-nav").on("mouseout", function (e) {
test = false;
});
//....
if (test === true) {
//do something
} else {
//something different
}