繁体   English   中英

您如何在 addEventListner 之外使用 event.target?

[英]How do you use event.target outside addEventListner?

我试图在点击功能之外获取事件目标元素。 但这不起作用,我也想稍后删除事件。

function clicked() {
    let targetElement = clicked.target;
    function action() {
    //Some code here
      }
    }

document.addEventListner('click', clicked);

您没有正确拼写addEventListner

您可以命名函数,也可以在命名函数中调用一个函数,我还将显示附加点在哪里可以有所作为。

 function clickAction(clickElement) { console.log("targetOne:", clickElement); //Some other code here } function clicked(event) { let targetElement = event.target; clickAction(targetElement); } function clickedMore(event) { let targetElement = event.target; // where it was attached: let attachedElement = event.currentTarget; console.log("target:", targetElement, "DelTarget:", attachedElement); } document.addEventListener('click', clicked); document.getElementById('me-more').addEventListener('click', clickedMore); 
 <div id="me1">Hi Me</div> <div id="me-more">Hi M outer <div class="my-thing">inner thing</div> <div class="my-thing">inner thing2</div> <div class="my-thing">inner thing 3</div> </div> 

如果您的目标是设置变量并将其用于其他函数,则主要问题是使用let 不要使用letconstvar ,这很简单:不要使用任何东西! 只需使用myVariable = 'My text'定义变量。

这是一种将变量从一个函数传递到另一个函数的方法:

 function clicked() { targetElement = 'I am the element of target'; } function clickedAgain() { console.log(targetElement); } document.querySelector('.btn1').addEventListener('click', clicked); document.querySelector('.btn2').addEventListener('click', clickedAgain); 
 <button class="btn1">Save the value</button> <button class="btn2">Rturn the value</button> 

问题在于事件目标存在于传递给函数的参数上,而不是作为函数的属性存在。 试试这个代码片段。

function clicked(event) {
    let targetElement = event.target;
    function action() {
        //Some code here
    }
}

document.addEventListener('click', clicked);

addEventListener也存在拼写错误

我可以尝试解释你有关LetVAR之间提升和差异性。 但是, 这是一篇中级文章,它将使您深入了解javascript的工作方式。

阅读本文后,您将清楚地了解一切相互作用和解释方式。

您可以使用此代码。 将元素作为参数传递给click函数。 您可以将其作为参数传递给其他函数。 应该工作正常。

function clicked(e) { 
     let targetElement = e.target;
     someFunction(targetElement);
 } 

function someFunction(element) {
    //do what you want with element
}

document.addEventListener('click', clicked);

希望这可以帮助...

document.addEventListener('click', test)

function test(e){

        let target = event.target;
        console.log(target)

}

此处的更多信息: https : //developer.mozilla.org/fr/docs/Web/API/Element/click_event

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM