2015-12-03 21 views
10

ateş açmasını: Ben fare NavDropdown bir çocuk üzerinde olduğunda ateş onMouseOut önlemek nasılönle onmouseout aşağıdaki Verilen alt öğeleri

render() { 

    const onMouseOver = (event) => { 
    this.setState({ isHovering: true }); 
    }; 

    const onMouseOut = (event) => { 
    this.setState({ isHovering: false }); 
    }; 

    const open = this.state.isHovering ? true : false; 

    return (
    <Nav className={styles.TopNav} bsStyle="pills" activeKey={1}> 
     <NavDropdown 
     className={dropDownClasses} 
     eventKey={1} 
     open={open} 
     title="Cards" 
     id="nav-dropdown" 
     onMouseEnter={onMouseOver} 
     onMouseOut={onMouseOut}> 
     <MenuItem eventKey="1.1">Action</MenuItem> 
     <MenuItem eventKey="1.2">Another action</MenuItem> 
     </NavDropdown> 
     <NavItem className={styles.navLink} eventKey={2}>Blog</NavItem> 
    </Nav> 
); 

.

OnMouseOut'ta bir çocuğumun üstesinden gelebilir miyim?

cevap

16

Bu, Spesifik değil. mouseover ve mouseout olayları balonudur, bu nedenle işleyici, öğenin çocukları için de tetiklenir. mouseenter ve mouseleave kabarmıyor.

Bunun yerine mouseleave dinlemelisiniz.

+1

Teşekkürler. Bonus puanlar için, aynı cevaba ihtiyacı olan daha da spesifik sorularıma cevap verebilirsiniz: http://stackoverflow.com/questions/34047269/how-to-create-a-hover-dropdown-in-react-bootsrap – SystemicPlural

+0

Kapalı olmalıdır yinelenen IMO olarak. –

+0

Bunu daha önce hiç yapmadım. Süreci başlattım. – SystemicPlural