如何使用'触发事件;这';word与OOP Javascript

如何使用'触发事件;这';word与OOP Javascript,javascript,oop,constructor,prototype,Javascript,Oop,Constructor,Prototype,我希望在不复制代码的情况下触发事件。所以我决定创建一个构造函数(类),然后创建一个新对象,其中包含一个连接到事件处理程序的变量。我只是在测试它,但是我不能用if语句触发alert()使用this.link它是这样工作的:if(el)但不是这样:if(el==this.link) 你能创建一个提琴吗?对我有效,对你的代码没有任何更改:我仍然不能让它在本地工作,一切都有效,alert()可以使用:if(el)但不能使用if(el==this.link)?…使用@rgthree的jsFiddle演示并

我希望在不复制代码的情况下触发事件。所以我决定创建一个构造函数(类),然后创建一个新对象,其中包含一个连接到事件处理程序的变量。我只是在测试它,但是我不能用
if
语句触发
alert()
使用
this.link
它是这样工作的:if(el)但不是这样:if(el==this.link)


你能创建一个提琴吗?对我有效,对你的代码没有任何更改:我仍然不能让它在本地工作,一切都有效,alert()可以使用:if(el)但不能使用if(el==this.link)?…使用@rgthree的jsFiddle演示并更改HTML以在里面添加一个跨距,像这样
Push me
这是你所拥有的吗?这将导致您正在经历的行为。如果是,则将
e.target
更改为
e.currentTarget
var faqOne = document.getElementById("faqOne");
var hiddenOne = document.querySelector("p.faqOneHidden");    

faqOne.addEventListener("click", function (e) {
    showFaqOne.showClickedFaq(e);
}, false);

function DisplayQFaqs(link, faq) {
    this.link = link;
    this.faq = faq;
}

DisplayQFaqs.prototype.showClickedFaq = function (e) {
    var el = e.target;
    if (el === this.link) {
        alert('hi');
    }
};

var showFaqOne = new DisplayQFaqs(faqOne, hiddenOne);