[英]How do you get just the parent element of a click event when event.target is returning the children?
[英]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
。 不要使用let
, const
, var
,这很简单:不要使用任何东西! 只需使用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
也存在拼写错误
我可以尝试解释你有关Let和VAR之间提升和差异性。 但是, 这是一篇中级文章,它将使您深入了解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.