0

我试图制作脚本来计算 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;
    }
}
}

我不明白这部分代码,请您为我解释一下。谢谢

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

2 回答 2

0

JavaScript Kit 很好地解释了它:

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

于 2013-05-29T20:33:01.027 回答
0

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

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

于 2013-05-29T20:17:33.817 回答