#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');">