Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 addEventListener包含append时不工作?_Javascript_Html_Jquery_Web_Appendchild - Fatal编程技术网

Javascript addEventListener包含append时不工作?

Javascript addEventListener包含append时不工作?,javascript,html,jquery,web,appendchild,Javascript,Html,Jquery,Web,Appendchild,该网站有一个名为(svgAdd)的按钮,每次我点击该按钮时,它都应该向listBody div添加一个点。但它不起作用。我尝试了很多方法,但都没有起作用,如果您考虑使用+=点,那么每次我向listBody添加点时,它都会删除textarea的值 let count = 0; $(`#svgNew`).click(function() { let point = ` <div class="point d-flex justi

该网站有一个名为(svgAdd)的按钮,每次我点击该按钮时,它都应该向listBody div添加一个点。但它不起作用。我尝试了很多方法,但都没有起作用,如果您考虑使用+=点,那么每次我向listBody添加点时,它都会删除textarea的值

let count = 0;
$(`#svgNew`).click(function() {
      
    let point = 
        `
        <div class="point d-flex justify-content-between align-items-center" id="point">
            <div class="pointTxt" id="pointTxt">
                <p class="list-font">Enter Your Text</p>
                <textarea id="txtA" cols="30" rows="10"></textarea>
            </div>
            <div class="pointIcon${count}" id="pointIcon">
            </div>
        </div>
        `;
    let list =
        `
        <div class="list col-lg-4" id="list${count}">
        <div class="listHead d-flex justify-content-between align-items-center">
        <div class="listHeadSet" id="listHeadSet${count}">
            <svg xmlns="http://www.w3.org/2000/svg" class="list-svg" id="svgAdd${count}" width="30" height="30" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            <svg xmlns="http://www.w3.org/2000/svg" class="list-svg" id="svgDelete${count}" width="30" height="30" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-trash"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg>
            <svg xmlns="http://www.w3.org/2000/svg" class="list-svg" id="svgRemove${count}" width="30" height="30" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-minus"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="9" y1="15" x2="15" y2="15"></line></svg>
        </div>
        <div class="listHeadTitle" id="listHeadTitle${count}">
            <h1 class="titleH list-font" id="titleH${count}">Title</h1>
            <input type="text" class="list-font titleInp" id="titleInp${count}" aria-label="Default" autocomplete="off" placeholder="Enter Title">
        </div>
        <div class="listHeadIcons">
            <svg xmlns="http://www.w3.org/2000/svg" class="list-svg" id="svgEdit${count}" width="30" height="30" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>
            <svg xmlns="http://www.w3.org/2000/svg" class="list-svg" id="svgSet${count}" width="30" height="30" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sliders"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line></svg>
        </div>
        </div>
        <div class="listBody${count}" id="listBody${count}"></div>
        </div>
        `;

       $(`.lists`).append(list);

       const listx = document.querySelector(`#list${count}`);
       const svgAdd = document.querySelector(`#svgAdd${count}`);
       const svgDelete = document.querySelector(`#svgDelete${count}`);
       const svgRemove = document.querySelector(`#svgRemove${count}`);
       const listHeadTitle = document.querySelector(`#listHeadTitle${count}`);
       const titleH = document.querySelector(`#titleH${count}`);
       const titleInp = document.querySelector(`#titleInp${count}`);
       const svgEdit = document.querySelector(`#svgEdit${count}`);
       const svgSet = document.querySelector(`#svgSet${count}`);
       const listHeadSet = document.querySelector(`#listHeadSet${count}`);
       const listBody = document.querySelector(`#listBody${count}`);

       let titleArr = [];
       let text = "";
       svgEdit.addEventListener("click", ()=> {
          titleH.classList.toggle(`hidden`);
          titleInp.classList.toggle(`show`);
          let inpValue = titleInp.value;
          if (inpValue.length == 0) titleH.innerHTML = titleArr[titleArr.length];
          else if (inpValue.length <= 15) titleH.innerHTML = inpValue; titleArr.push(titleInp.value);
       });
       svgSet.addEventListener("click", ()=> {
           listHeadTitle.classList.toggle(`hidden`);
           svgEdit.classList.toggle(`hidden`);
           listHeadSet.classList.toggle(`show`);
       });
       svgRemove.addEventListener("click", ()=> {listx.remove()});
       svgAdd.addEventListener("click", ()=> {
            $(`#listBody${count}`).append(point);
       })
       count++;
});


let count=0;
$(`svgNew`)。单击(函数(){
让点=
`

输入您的文本

`; 出租清单= ` 标题 `; $(`.lists`).追加(list); const listx=document.querySelector(`list${count}`); const svgAdd=document.querySelector(`svgAdd${count}`); const svgDelete=document.querySelector(`svgDelete${count}`); const svgRemove=document.querySelector(`svgRemove${count}`); const listHeadTitle=document.querySelector(`listHeadTitle${count}`); const titleH=document.querySelector(`titleH${count}`); const titleInp=document.querySelector(`titleInp${count}`); const svgEdit=document.querySelector(`svgEdit${count}`); const svgSet=document.querySelector(`svgSet${count}`); const listweadset=document.querySelector(`listweadset${count}`); const listBody=document.querySelector(`listBody${count}`); 设titlear=[]; 让文本=”; svgEdit.addEventListener(“单击”,()=>{ titleH.classList.toggle(`hidden`); titleInp.classList.toggle(`show`); 设inpValue=titleInp.value; 如果(inpValue.length==0)titleH.innerHTML=titleArr[titleArr.length]; else if(inpValue.length{ listHeadTitle.classList.toggle(`hidden`); svgEdit.classList.toggle(`hidden`); listHeadSet.classList.toggle(`show`); }); svgRemove.addEventListener(“单击“,()=>{listx.remove()}”); svgAdd.addEventListener(“单击”,()=>{ $(`listBody${count}`)。追加(点); }) 计数++; });
为什么不完全使用Jquery进行元素选择呢?这样就不需要使用“addEventListener”

constlistx=$(`list${count}`);
常量svgAdd=$(`svgAdd${count}`);
常量svgDelete=$(`svgDelete${count}`);
const svgRemove=$(`svgRemove${count}`);
常量listHeadTitle=$(`listHeadTitle${count}`);
常量titleH=$(`titleH${count}`);
常量titleInp=$(`titleInp${count}`);
常量svgEdit=$(`svgEdit${count}`);
常量svgSet=$(`svgSet${count}`);
常量listHeadSet=$(`listHeadSet${count}`);
常量listBody=$(`listBody${count}`);
设titlear=[];
让文本=”;
svgEdit.on(“单击”,()=>{
titleH.toggleClass(`hidden`);
titleInp.toggleClass(`show`);
设inpValue=titleInp.value;
如果(inpValue.length==0)titleH.innerHTML=titleArr[titleArr.length];
else if(inpValue.length{
toggleClass(`hidden`);
toggleClass(`hidden`);
toggleClass(`show`);
});
svgRemove.on(“单击“,()=>{listx.remove()}”);
svgAdd.on(“单击”,()=>{
$(`listBody${count}`)。追加(点);
})
计数++;

它不起作用,控制台说“无法读取未定义的属性切换”!!!使用“.toggleClass(
className
)”而不是“classList.toggle()”,listBody的追加子项仍然不起作用
   const listx = $(`#list${count}`);
   const svgAdd = $(`#svgAdd${count}`);
   const svgDelete = $(`#svgDelete${count}`);
   const svgRemove = $(`#svgRemove${count}`);
   const listHeadTitle = $(`#listHeadTitle${count}`);
   const titleH = $(`#titleH${count}`);
   const titleInp = $(`#titleInp${count}`);
   const svgEdit = $(`#svgEdit${count}`);
   const svgSet = $(`#svgSet${count}`);
   const listHeadSet = $(`#listHeadSet${count}`);
   const listBody = $(`#listBody${count}`);
   
   let titleArr = [];
   let text = "";
   svgEdit.on("click", ()=> {
      titleH.toggleClass(`hidden`);
      titleInp.toggleClass(`show`);
      let inpValue = titleInp.value;
      if (inpValue.length == 0) titleH.innerHTML = titleArr[titleArr.length];
      else if (inpValue.length <= 15) titleH.innerHTML = inpValue; 
      titleArr.push(titleInp.value);
   });
   svgSet.on("click", ()=> {
       listHeadTitle.toggleClass(`hidden`);
       svgEdit.toggleClass(`hidden`);
       listHeadSet.toggleClass(`show`);
   });
   svgRemove.on("click", ()=> {listx.remove()});
   svgAdd.on("click", ()=> {
        $(`#listBody${count}`).append(point);
   })
   count++;