JavaScript EventListener未将事件变量传递给事件处理程序
我试图使用事件变量来编辑元素的CSS。我得到的错误是,事件是未定义的,即使它应该由事件侦听器传递 谢谢你的帮助JavaScript EventListener未将事件变量传递给事件处理程序,javascript,event-listener,Javascript,Event Listener,我试图使用事件变量来编辑元素的CSS。我得到的错误是,事件是未定义的,即使它应该由事件侦听器传递 谢谢你的帮助 function newClick(event){ event.style.backgroundColor = '#ABAEAB'; document.addEventListener("keyup" , function(e){ let sel = window.getSelection(); let ele =
function newClick(event){
event.style.backgroundColor = '#ABAEAB';
document.addEventListener("keyup" , function(e){
let sel = window.getSelection();
let ele = sel.anchorNode;
ele.textContent = e.key;
if(ele.textContent.trim()){
ele.focus
setCursorToEnd(ele);
}
ele.parentElement.style.backgroundColor = '#FFFFFF';
ele.parentElement.setAttribute("class" , "old");
});
}
function SetNewBranch(){
let li_NewSpan = document.getElementsByClassName("new");
for(let i = 0; i < li_NewSpan.length; i++){
if(li_NewSpan[i].getAttribute("EventListener") == 'false' && li_NewSpan[i].getAttribute("class") == "new"){
li_NewSpan[i].addEventListener("click" , newClick , false);
}
}
}
函数新建单击(事件){
event.style.backgroundColor='#abeab';
文件.addEventListener(“键控”,函数(e){
让sel=window.getSelection();
设ele=sel.anchorNode;
ele.textContent=e.key;
if(ele.textContent.trim()){
电子聚焦
设置光标结束(ele);
}
ele.parentElement.style.backgroundColor='#FFFFFF';
ele.parentElement.setAttribute(“类”、“旧”);
});
}
函数SetNewBranch(){
让li_NewSpan=document.getElementsByClassName(“新”);
对于(设i=0;i
您正在单击处理程序中添加keyup
事件,该处理程序将在每次发生不正确的单击时添加新的侦听器函数!
将keyup
事件处理程序带到它自己的函数中,并在SetNewBranch
内调用它一次,或者在任何需要的地方调用它。见下面的例子。
另外,要获取元素,可以使用event.target
函数attachKeyUpEvent(){
文件.addEventListener(“键控”,函数(e){
让sel=window.getSelection();
设ele=sel.anchorNode;
ele.textContent=e.key;
if(ele.textContent.trim()){
电子聚焦
//设置光标结束(ele);
}
ele.parentElement.style.backgroundColor='#FFFFFF';
ele.parentElement.setAttribute(“类”、“旧”);
});
}
函数newClick(事件){
event.target.style.backgroundColor='#abeab';
}
函数SetNewBranch(){
让li_NewSpan=document.getElementsByClassName(“新”);
对于(设i=0;i
- 一个
两个
- 三个
元素上的点击事件事件
是点击事件,而不是被点击的元素。谢谢你,你想要的一切都很完美!很乐意提供帮助:)唯一的问题是,当click事件运行一次时,keyup事件应该运行一次,然后在每个元素使用一次之后,eventlisteners应该被删除,类='old'