单击图像并计算单击次数时如何使用.addEventListener(Javascript)
//*我试图点击一张图片,它会计算点击次数*//单击图像并计算单击次数时如何使用.addEventListener(Javascript),javascript,Javascript,//*我试图点击一张图片,它会计算点击次数*// var addUp = function(counterId) { var count = 0; elem.addEventListener('click', function(counterID){ return function () { var counterEle = document.getElementById(counterId); if (counterEle) counter
var addUp = function(counterId) {
var count = 0;
elem.addEventListener('click', function(counterID){
return function () {
var counterEle = document.getElementById(counterId);
if (counterEle)
counterEle.innerHTML = "Picture Clicks: " + ++count;
}
};
var elem = document.getElementById('PicC');
PicC.addEventListener("click", addUp("PicC-counter"), false);
<img id="PicC" src="avatar.png" alt="Avatar" style="width:200px" onclick="addUp()">
var addUp=函数(计数器ID){
var计数=0;
元素addEventListener('click',函数(计数器ID){
返回函数(){
var counterEle=document.getElementById(counterId);
如果(计数器)
counterEle.innerHTML=“图片点击:”+++计数;
}
};
var elem=document.getElementById('PicC');
PicC.addEventListener(“点击”,加法(“PicC计数器”),false;
函数单击计数(元素、侦听器){
如果(!element)抛出新错误(“没有要侦听的元素”);
单击CountObj={};
clickCountObj.clickCount=0;
clickCountObj.clickDelay=500;
单击CountObj.element=元素;
clickCountObj.lastClickTime=0;
单击CountListener=函数(e){
如果((例如时间戳-clickCountObj.clickDelay)
您使它变得比需要的复杂得多
const output=document.getElementById(“count”);
document.getElementById('PicC')。addEventListener(“单击”),函数(事件){
output.textContent=+output.textContent+1;
});
单击count=0
据我所知,出现了以下问题:
在函数中addEventListener
不接受函数参数addEventListener
每次单击都会被重置计数
- 还有更多
单击次数
,并将值添加到单击计数器
var点击次数=0;
document.getElementById(“clickme”).addEventListener(“click”,addClick);
函数addClick(){
点击++;
document.getElementById(“clickCounter”).innerHTML=“图片点击:”+点击;
}
#单击我{
背景色:黑色;
宽度:100px;
高度:100px;
图片点击:0
对于这样一个简单的任务,不需要addEventListener
我的建议(未添加CSS):
var i=1;
PicC.onclick=()=>{
counter.innerHTML=i;
i++;
}
单击:0
我尝试添加此项,因为它对我来说最有意义,但我仍然缺少一些内容。图像单击器主体{背景色:黑色;文本对齐:中间;颜色:白色;字体系列:Arial,Helvetica,sans serif;}var clicks=0;document.getElementById(“PicC”).addEventListener(“单击”,addClick);函数addClick(){clicks++;document.getElementById(“clickCounter”).innerHTML=“图片单击:”+clicks;}单击计数器单击要添加到计数器的图像。图片单击:0哦,该死,这并没有保留我的格式设置
function clickCount(element, listener) {
if (!element) throw new Error("No element to listen to");
let clickCountObj = {};
clickCountObj.clickCount = 0;
clickCountObj.clickDelay = 500;
clickCountObj.element = element;
clickCountObj.lastClickTime = 0;
let clickCountListener = function (e) {
if ((e.timeStamp - clickCountObj.clickDelay) < clickCountObj.lastClickTime) {
clickCountObj.clickCount = clickCountObj.clickCount + 1;
}
else {
clickCountObj.clickCount = 1;
}
clickCountObj.lastClickTime = e.timeStamp;
listener.call(element, clickCountObj.clickCount, e);
};
clickCountObj.remove = function () {
element.removeEventListener("click", clickCountListener);
}
element.addEventListener("click", clickCountListener);
return clickCountObj;
}