gpt4 book ai didi

Javascript 事件监听器在页面加载时触发,而不是单击事件

转载 作者:行者123 更新时间:2023-11-28 11:08:19 26 4
gpt4 key购买 nike

我正在使用 Javascript 并创建了一个类。在初始化类时,我向某个 div 添加一个按钮,然后向该按钮添加一个事件监听器,以便在单击该按钮时监听该事件。但发生的情况是,该函数在页面加载时被触发,而不是在单击按钮时触发。这是我的代码:

    function Photobank(){
this.photos;
this.addPhotoButton;
}

Photobank.prototype.init = function(){
var btn = document.createElement('button');
btn.id = "photoupload";
var t=document.createTextNode("ADD PHOTOS");
btn.appendChild(t);
this.addPhotoButton = btn;
var pb = document.getElementById('photobank');
pb.appendChild(this.addPhotoButton);
this.addPhotoButton.addEventListener("click", this.launchMediaManager(), false);
}

Photobank.prototype.launchMediaManager = function(){
alert("Launching Media Manager");
}

我做错了什么吗?

最佳答案

您正在调用该函数,而不是将该函数作为参数传递给 addEventListener。去掉函数名称末尾的括号:

this.addPhotoButton.addEventListener("click", this.launchMediaManager, false);

关于Javascript 事件监听器在页面加载时触发,而不是单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21616393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com