2016-04-10 4 views
0

У меня есть div, который должен изменить содержание он делает, когда мышь попадает его поверхность или выходит из него:событие, когда листья мыши не обнаружено

div соединен с этими методами:

mouseOut: function() { 
    console.log("Mouse out!!!"); 
    this.setState({flipped: false}); 
    }, 

    mouseOver: function() { 
    console.log("Mouse over!!!"); 
    this.setState({flipped: true}); 
    }, 

Событие onMouseOver хорошо работает. Однако, onMouseOut не действует, и похоже, что функция mouseOut не вызывается.

Вместо mouseOut Я также пробовал onMouseLeave и onMouseDown, но все еще нет эффекта`.

Как я могу заставить компонент React обнаружить, что мышь вышла?

+0

вы должны сделать демонстрационную скрипку, чтобы мы могли помочь вам с ней. –

+0

Без просмотра вашего компонента невозможно знать, что не так, и какой браузер вы используете? –

ответ

0

Должно быть что-то не так в том, как вы соединяете части своего кода вместе, потому что эти два метода кажутся совершенно прекрасными.

Вот рабочий пример в JSFiddle:

React mouseOver and mouseOut

Попробуйте сравнить это с вашим кодом, может быть, вы можете заметить разницу. Вещи, которые могут пойти не так:

  • Вы ошибаетесь, указав свои имена. Обработчики событий - camelCase - если вы случайно используете неправильный случай, например mouseout, они будут проигнорированы.
  • Вы случайно назначаете возвращаемое значение своей функции вместо самой функции, например. mouseOut={this.mouseOut()} - опора будет неопределенной, ничего не будет называться.
Смежные вопросы