如何使用JQuery解除对hover事件的绑定
这个问题是在JQuery的帮助下解除特定元素的悬停效果。在这里,我们使用2个JQuery方法.unbind()和.off()方法。这里讨论了一些技术。
方法:
- 选择需要解除绑定的悬停效果的元素。(确保悬停效果只能由JQuery添加,由CSS添加的悬停效果在这里不起作用)。
- 使用.unbind()或.off()方法。
- 传递我们想为该特定元素关闭的事件。
例子1:这个例子使用.unbind()方法
<!DOCTYPE HTML>
<html>
<head>
<title>
How to unbind “hover” event using JQuery?
</title>
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
<style>
#div {
height: 100px;
width: 200px;
background: green;
color: white;
margin: 0 auto;
}
</style>
</head>
<body style="text-align:center;">
<h1 id="h1" style="color:green;">
GeeksForGeeks
</h1>
<p id="GFG_UP"
style="font-size: 15px;
font-weight: bold;">
</p>
<div id="div">
Hover It
</div>
<br>
<button onclick="gfg_Run()">
Unbind
</button>
<p id="GFG_DOWN"
style="font-size: 23px;
font-weight: bold;
color: green; ">
</p>
<script>
var el_up = document.getElementById("GFG_UP");
var el_down = document.getElementById("GFG_DOWN");
var heading = document.getElementById("h1");
var div = document.getElementById("div");
el_up.innerHTML =
"Click on the button to unbind the hover from the element.";
("#div").hover(function() {
(this).css("background-color", "blue");
}, function() {
(this).css("background-color", "green");
});
function gfg_Run() {
('#div').unbind('mouseenter mouseleave');
el_down.innerHTML = "Hover effect Unbinded.";
}
</script>
</body>
</html>
输出:
- 在点击按钮之前。
- 在悬停在该元素上。
- 点击该按钮后。
例子2:这个例子使用.off()方法
<!DOCTYPE HTML>
<html>
<head>
<title>
How to unbind “hover” event using JQuery?
</title>
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
<style>
#div {
height: 100px;
width: 200px;
background: green;
color: white;
margin: 0 auto;
}
</style>
</head>
<body style="text-align:center;">
<h1 id="h1" style="color:green;">
GeeksForGeeks
</h1>
<p id="GFG_UP" style="font-size: 15px; font-weight: bold;">
</p>
<div id="div">
Hover It
</div>
<br>
<button onclick="gfg_Run()">
Unbind
</button>
<p id="GFG_DOWN"
style="font-size: 23px;
font-weight: bold;
color: green; ">
</p>
<script>
var el_up = document.getElementById("GFG_UP");
var el_down = document.getElementById("GFG_DOWN");
var heading = document.getElementById("h1");
var div = document.getElementById("div");
el_up.innerHTML =
"Click on the button to unbind the hover from the element.";
("#div").hover(function() {
(this).css("background-color", "blue");
}, function() {
(this).css("background-color", "green");
});
function gfg_Run() {
('#div').off('mouseenter mouseleave');
el_down.innerHTML = "Hover effect Unbinded.";
}
</script>
</body>
</html>
输出:
- 在点击按钮之前。
- 在悬停在该元素上。
- 点击该按钮后。