![](/img/trans.png)
[英]Disable hover event on parent when mouse is over specific children elements
[英]Prevent triggering onMouseOut event when hover over children
我有一個div
元素和里面的兩個孩子。 我想在用戶 hover 超過.portfolio-item
時顯示.portfolio-overlay
並在他們離開該元素時隱藏它。
const handleHover = () => {
gsap.fromTo(overlay.current, {opacity: 0}, {opacity: 1, duration: .5});
};
const handleLeave = () => {
gsap.fromTo(overlay.current, {opacity: 1}, {opacity: 0, duration: .5});
};
<div className="portfolio-item" onMouseOver={handleHover} onMouseOut={handleLeave}>
<div ref={overlay} className="portfolio-overlay">
<h3>My header1</h3>
<h4>My header2</h4>
</div>
</div>
如您所見,我使用gsap
做到了這一點。 但問題是當我 hover 通過h3
或h4
時, handleLeave handleLeave()
和handleHover()
函數被觸發,我再次看到兩個動畫。 我怎么能阻止呢?
您可以設置屬性“tabindex='-1'”。
const handleHover = () => {
gsap.fromTo(overlay.current, {opacity: 0}, {opacity: 1, duration: .5});
};
const handleLeave = () => {
gsap.fromTo(overlay.current, {opacity: 1}, {opacity: 0, duration: .5});
};
<div tabindex="-1" className="portfolio-item" onMouseOver={handleHover} onMouseOut={handleLeave}>
<div ref={overlay} className="portfolio-overlay">
<h3>My header1</h3>
<h4>My header2</h4>
</div>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.