почему кнопка event.не работает должным образом с событием mousedown в Chrome?

#javascript

Вопрос:

Вот изображение ошибки:

введите описание изображения здесь

Я пытаюсь заставить кнопку event.что-то делать, когда кто-то слева нажимает на изображение, но кнопка event.не работает для меня. Я не знаю, почему я получаю эту ошибку. Это говорит о том, что мой параметр события не определен в моем коде Javascript, или это говорит о том, что кнопки не определены? Я не понимаю, мне не помешала бы помощь с этим вопросом. Я установил event.кнопки равными x, и если x == 1, что означает, что если кто-то слева нажмет на одно из изображений, то что-то произойдет.

Вот код javascript:

 function dontShowDots(event) {
    var x = event.buttons;
    if (x == 1) {
        arrayDots[0].style.display = "none";
        arrayDots[1].style.display = "none";
    }
}
 

Вот мой html-код:

 <!DOCTYPE html>
<html>
    <head>
        <title>Title of the document</title>
        <link rel="stylesheet" href="style.css">
    </head>

    <body>
        <div id="container">
            <div class="empty-squares"><img src="images/greenDot.png" height="50px" width="60px"></div>
            <div class="empty-squares"><img src="images/greenDot.png" height="50px" width="60px"></div>
            <div id="square1"><img src="images/white_pawn.png" onclick="showDots()" height="75px" width="75px"></div>
        </div>
        
        <div id="container1">
            <div class="empty-squares"><img src="images/greenDot.png" height="50px" width="50px"></div>
            <div class="empty-squares"><img src="images/greenDot.png" height="50px" width="50px"></div>   
            <div id="square2"><img src="images/white_pawn.png" onmousedown="dontShowDots()" onclick="showDots2()" height="75px" width="75px"></div>
        </div>           
            
        
        <script src="interactive.js"></script>
    </body>

</html>
 

код css:

 .empty-squares img {
    display: none;
}
 

Ответ №1:

Попробуй:

 onmousedown="dontShowDots(event)" 
 

Комментарии:

1. try не является полезным объяснением, почему это необходимо сделать.

Ответ №2:

 onmousedown="dontShowDots(event)" 
 

Можно получить доступ к текущему событию через window.event . Просто использование event -это неявный доступ window.event .

Комментарии:

1. Почему $ перед ним должно быть event «а»?

2. $event это то, что вы можете найти в angular или vue. Но это ничто из того, что существует в ванильном javascript. Использование $event приведет к Uncaught ReferenceError: $event is not defined ошибке.

3. Обновленный ответ, @t.niese Я согласен