Можно ли использовать onclick для div?

#javascript #html #javascript-events

#javascript #HTML #dom-события

Вопрос:

Я пытаюсь активировать onclick div. По какой-то причине это не работает.

Пример:

 <html> 
    <head> 
        <style> 
            .box{
                border: 1px solid black;
                width: 100px; 
                height: 100px;
            }
        </style>
    </head>

    <body> 
        <div class="box" onclick="_gaq.push(['_trackEvent', 'Click', 'Facebook_Share', 'Upper_Button']);"> 

        </div>

    </body>
</html>
  

Потому что по какой-то причине это не работает.
Я неправильно пишу?
Я написал этот код в качестве примера. JS находится в реальных кодах <head> .
(Это событие Google Analytics …)

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

1. Пожалуйста, определите «не работает». Вы получаете сообщение об ошибке в консоли?

2. Вот ответ на ваш вопрос — jsfiddle.net/KmrfN . Насколько я знаю onclick , это одно из событий, которые могут быть применены к каждому элементу DOM.

Ответ №1:

Вы должны привязать элемент onclick к блоку div после загрузки скрипта Google Analytics:

 <html> 
    <head> 
        <style> 
            .box{
                border: 1px solid black;
                width: 100px; 
                height: 100px;
            }
        </style>
    </head>

    <body> 
        <div class="box" id="tracked"> 

        </div>
        <!-- suggest using jQuery library, as it eases things, see below -->
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <!-- put Google Analytics code here (I assume, the _gaq variable is the Google Analytics one) -->
        <script type="text/javascript"><!-- replace this comment with your Google Analytics code --></script>
        <script type="text/javascript">
           $(document).ready(function(){

              // bind click event to the box div (I used an id here)
              $("#tracked").click(function(){
                  _gaq.push(['_trackEvent', 'Click', 'Facebook_Share', 'Upper_Button']);
              });
           });
        </script>
    </body>
</html>
  

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

1. В этом случае onclick атрибут не нужен.

2. @GergoErdosi: Спасибо, я удалил его.

Ответ №2:

он работает так, как ожидалось, за исключением того, что _gaq не определен. Определите _gaq (добавьте скрипт, где определен _gaq) или сделайте что-то более значимое.

 <div class="box" onclick="alert('wakalaka');">