0

Недавно мой сайт начал работать довольно странно в Chrome. Я обнаружил, что в Chrome нажатие сенсорной панели теперь (с недавнего обновления?) Запускает два события - щелчок и мышь.Хромированное нажатие на touchpad fireles mouseleave

<div id="tap">HOVER, TAP or CLICK</div> 
<script> 
tap.addEventListener("mouseleave",function(){alert("mouseleave");}); 
tap.addEventListener("click",function(){alert("click");}); 
</script> 

Вот JSFiddle:

До сих пор, кажется, как этот вопрос относится только к Google Chrome. В FF и Yandex (на основе хрома) поддельная мышь не срабатывает. Нажатие кнопки (кнопка мыши или кнопки тачпада) также отлично работает - нет мыши.

Как я могу предотвратить эту мышь на кране? Или, может быть, есть способ рассказать мышь-мышь от реальной мышиной оси?

+0

Я не могу воспроизвести проблему на моем ноутбуке, любая конкретная версия хрома? – Robin

+0

Умм ... нет. Версия 41.0.2272.118 (последняя стабильная дата, afaik). Вы имеете в виду, что если вы нажмете желтый div на сенсорной панели, вы не получите событие «mouseleave»? – joox

+0

Правильно, нажатие с сенсорной панелью вызывает только «щелчок» для меня. Бегущая версия 41.0.2272.118 м. – Robin

ответ

0

В настоящее время у меня такая же проблема. Вы нашли решение?

Мое подозрение, что это связано с каким-то определенным CSS, поскольку у меня одно и то же событие mouseleave на двух разных сайтах, но я вижу эту проблему только на одном.

0

Я заметил, что, когда неправильное коснувшись поведение происходит в Chrome, мы можем проверить объект mouseleave событий, чтобы определить, является ли это поведение глючит или нет:

mouseleave = function (e) { 
    if (e.screenX === 0 && e.screenY === 0) { 
    // BUG in Chrome 
    return; 
    } 
    // Correct behavior... 
} 

В качестве альтернативы, мы можем проверить e.toElement и/или e.relatedTarget, так как я заметил, те, будучи null, когда поведение багги происходит:

mouseleave = function (e) { 
    if (!e.relatedTarget || !e.toElement) { 
    // BUG in Chrome 
    return; 
    } 
    // Correct behavior... 
}