Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击“附加”按钮,然后再次单击“返回”。?_Javascript_Jquery - Fatal编程技术网

Javascript 单击“附加”按钮,然后再次单击“返回”。?

Javascript 单击“附加”按钮,然后再次单击“返回”。?,javascript,jquery,Javascript,Jquery,无法附加功能性编写的代码。 就像单击按钮一样,它将禁用并附加到div,如果再次在div内部单击,它将隐藏并再次启用父按钮 逻辑am使用比较innerHtml值。现在问题来了,就像有相同的innerHtml值一样。 请帮忙 Array.from(document.querySelectorAll('.shadowbutton')).forEach( (button)=>{ button.addEventListener("click", function(e) { l

无法附加功能性编写的代码。 就像单击按钮一样,它将禁用并附加到div,如果再次在div内部单击,它将隐藏并再次启用父按钮

逻辑am使用比较innerHtml值。现在问题来了,就像有相同的innerHtml值一样。 请帮忙

Array.from(document.querySelectorAll('.shadowbutton')).forEach(
(button)=>{
    button.addEventListener("click", function(e) {
        let text = e.target.innerHTML;
        let text1 = e.target.innerText;
    console.log(button)
    backbutton();
        this.disabled = true;
        $(this).addClass('disable');
        $('<button class="shadowbutton">' + text + "</button>").appendTo(dottedbox);
    })
}
)


function backbutton() {
    setTimeout(()=>{
        let dbutton = document.querySelectorAll('.dotted-box .shadowbutton');
        let parent = document.querySelectorAll('.dotted-box');
        if ( $(parent).children().length > 0 ) {
            dbutton.forEach(
                (button)=>{
                    button.addEventListener("click", (e)=> {
            console.log(button)
                        let parent = e.target.parentElement;
                        let parentdiv = document.querySelectorAll('.disable');
                        let dgfg = e.target
                        $(dgfg).removeAttr('disabled');
                        parentdiv.forEach(
                            (button)=>{
                                if(e.target.innerHTML == button.innerHTML){
                                    $(button).first().removeAttr('disabled');
                                    $(button).first().removeClass('disable');
                                }
                                else{
                                    //console.log(button)
                                }
                            }
                        )
                        parent.removeChild(e.target);
                    })
                }
            )
    }   
    },100)
}
Array.from(document.querySelectorAll('.shadowbutton')).forEach(
(按钮)=>{
按钮。addEventListener(“单击”,函数(e){
让text=e.target.innerHTML;
设text1=e.target.innerText;
控制台日志(按钮)
backbutton();
this.disabled=true;
$(this.addClass('disable');
$(''+text+'').appendTo(dottedbox);
})
}
)
函数backbutton(){
设置超时(()=>{
让dbutton=document.queryselectoral('.dottered box.shadowbutton');
让parent=document.queryselectoral('.dotterbox');
if($(父).children().length>0){
dbutton.forEach(
(按钮)=>{
按钮。addEventListener(“单击”,(e)=>{
控制台日志(按钮)
让parent=e.target.parentElement;
让parentdiv=document.querySelectorAll('.disable');
设dgfg=e.target
$(dgfg).removeAttr('disabled');
父分区forEach(
(按钮)=>{
if(e.target.innerHTML==button.innerHTML){
$(按钮).first().removeAttr('disabled');
$(按钮).first().removeClass('disable');
}
否则{
//控制台日志(按钮)
}
}
)
父母。removeChild(即目标);
})
}
)
}   
},100)
}
问题是单击时,它同时启用了按钮。它应该只启用第一个按钮。

您可以将当前单击的按钮存储在新创建的按钮中作为参考变量,并且您可以使用
事件获得相同的按钮新创建的按钮单击。目标

演示

let dottedbox=document.querySelector('.dottedbox');
Array.from(document.queryselectoral('.shadowbutton')).forEach(button=>{button.addEventListener(“单击”,onButtonClick)})
功能按钮点击(e){
让text=e.target.innerHTML;
this.disabled=true;
$(this.addClass('disable');
设btn=$(''+text+'');
btn.on(“点击”,(e)=>{
让parent=e.target.parentElement;
让parentdiv=document.querySelectorAll('.disable');
让Button=$(e.target.pBtn);
//console.log(例如target)
buttton.removeAttr(“禁用”);
删除类('disable');
e、 target.remove();
});
btn[0].pBtn=e.target;
附件(点框);
}
。虚线框{
边框:1px实心#cdcdcd;
最小高度:70px;
保证金:2rem 0;
}

P
/p
/p
P
大家好。!
大家好。!

请您尝试改进措辞好吗?我很难理解你所说的“无法附加功能性编写的代码”是什么意思。对我来说,听起来你想动态添加javascript代码,但我觉得你的意思是其他东西。请注意,如果
button
是单个元素,你不必在
$(button.first()中使用
first()
因为jQuery只包含一个元素Simple and neat