如何从事件侦听器匿名函数中引用对象属性

时间:2019-06-24 15:15:24

标签: javascript oop

任何对此的帮助将不胜感激!

我想在创建作业对象时将事件侦听器添加到caretElement,并且在事件侦听器的功能中,我想引用一些作业对象的属性,例如job_name或job_id。

这样,当单击caretElement时,我可以将事件以及作业详细信息转发给其他对象。

我尝试使用“ this”和job.job_name。

function job(liElement) {
        this.liElement = liElement
        this.caretElement = liElement.getElementsByClassName("caret")[0]
        this.job_name = liElement.getElementsByTagName("span")[1].innerHTML
        this.job_id = liElement.getElementsByTagName("span")[1].getAttribute("id")

        this.caretElement.addEventListener("click", function() { 
            this.classList.toggle("caret-down");
            console.log(this); 
            console.log(job.job_name); 
        })
}

我没有收到任何错误,但是它只是在控制台上显示“ undefined”

非常感谢

0 个答案:

没有答案