Что я делаю неправильно? Когда я пытаюсь использовать это, он выдает ошибку:
Cannot read property 'pageX' of undefined.
Цель здесь - запустить проверку, чтобы увидеть, прошел ли курсор мыши определенную позицию x.
$( document ).on( "mousemove", function( event ) {
$( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY );
});
var x = event.pageX;
if (x > 1200)
{
window.alert("Working");
}body {
background-color: #eef;
}
div {
padding: 20px;
}<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "log"></div>var x = event.pageX; if (x > 1200) { window.alert("Working"); } должен быть внутри функции обратного вызова mousemove



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ошибка консоли довольно четко объясняет проблему - event не определен. Единственное место в вашем коде, где переменная event находится в области видимости, - это обратный вызов для события mousemove (где это параметр функции). Итак, вам просто нужно переместить соответствующий код внутри функции обратного вызова - вот так:
$( document ).on( "mousemove", function( event ) {
$( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY );
var x = event.pageX;
if (x > 1200)
{
window.alert("Working");
}
});
Вы пытаетесь оценить событие вне функции, в которой определено. Переместите этот код внутрь функции, и он будет работать.
$( document ).on( "mousemove", function( event ) {
$( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY );
var x = event.pageX;
if (x > 1200) {
window.alert("Working");
}
});body {
background-color: #eef;
}
div {
padding: 20px;
}<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "log"></div>
Вы слишком рано закрываете свой слушатель
mousemove, закройте его после оператораif. Поскольку вы новичок, важно узнать о DevTools браузера (нажмите F12), это очень поможет выявить ошибки.