计算div中的点击次数

时间:2013-05-29 20:15:38

标签: javascript

我尝试制作脚本来计算3个不同div中的点击链接。你能否在我的代码中添加一些错误的注释。

JavaScript

window.onload = function () {
span = document.getElementById('span');
var sumcount = 0;
span.innerHTML = sumcount; // Записываем начальное значение

    document.body.onclick = function (e) {
    e = e || event;
    var target = e.target || e.srcElement;

    var countItem1 = 0,
        countItem2 = 0,
        countItem3 = 0;

    if (target.className == 'item1') {
        countItem1++;
        sumcount++;
        //здесь отсылаем новые данные на сервер, при удачном ответе обновляем содержимое span
        span.innerHTML = countItem1;
    }

    if (target.className == 'item2') {
        countItem2++;
        sumcount++;
        //здесь отсылаем новые данные на сервер, при удачном ответе обновляем содержимое span
        span.innerHTML = countItem2;
    }

    if (target.className == 'item3') {
        countItem3++;
        sumcount++;
        //здесь отсылаем новые данные на сервер, при удачном ответе обновляем содержимое span
        span.innerHTML = countItem3;
    }
}
}

我不明白这部分代码,请你帮我解释一下。 MERCI

    document.body.onclick = function (e) {
    e = e || event;
    var target = e.target || e.srcElement;

2 个答案:

答案 0 :(得分:0)

这些计数器应该被声明为之外处理函数,就像“sumcount”一样。

事件处理程序开头的代码处理Internet Explorer,它不会将事件引用作为参数传递,而是调用事件目标属性“srcElement”而不是“target”。

答案 1 :(得分:0)

JavaScript Kit在解释它方面做得很好:

  

在IE和Firefox中,事件模型的实现方式不同。在IE中,有一个显式的window.event对象,它在事件发生时记录事件的任何细节(即:onclick),而在Firefox和其他符合W3c的浏览器中,一个不明确的Event对象会自动传递到与事件关联的函数中。包含有关事件的类似信息的处理程序。1