2016-09-01 1 views
0

나는 tinymce 안에 격자 행과 열을 추가하는 약간의 플러그인을 작성하고 있습니다. 제대로 작동하지만 TinyMCE는 비어있을 때 div를 삭제하려고합니다. 내 열과 행을 단추 컨트롤을 통해서만 삭제하고 싶습니다.Wordpress TinyMCE가 백 스페이스에서 div를 삭제하지 못하도록하십시오.

나는이 질문과 올바른 답변을하는 질문을 찾았지만 제대로 작동하지 않습니다.

editor.on("keydown",function(e) { 
    if (e.keyCode == 8 || e.keyCode == 46) { 

    try { 
     var elem = editor.selection.getNode(); 

     if (elem.classList.contains("columns") || elem.classList.contains("column") || elem.classList.contains("row")) { 
     console.log(elem.textContent.length); 
     if (elem.textContent.length == 0) { 
      console.log('no content'); 
      e.preventDefault(); 
      return false; 
     } 
     } 
    } catch (e) {} 
    } 
}); 

작동하지 않습니다. elem.textContent.length를 == 1로 변경하면 마지막 문자는 삭제되지 않지만 0으로두면 열/행이 삭제되고 console.log에도 도달하지 않습니다.

답변은 매우 가까이에 있지만 거의 도달하지 못하는 것 같습니다.

해결 방법에 대한 아이디어는 크게 감사하겠습니다.

답변

0

많은 작업을 마친 후에 위 코드를 조정하여 작동하도록했습니다.

if (elem.textContent.length <= 1) { 
    e.preventDefault(); 
    jQuery(elem).html(''); 
} 

나는 문제가 0으로 textContent.length을 설정하는 것은 너무 늦은 것입니다 생각, 그래서 1 개 문자있을 때 삭제/백 스페이스를 대상으로 할 수있는 방법을 찾을 필요가 있었다. 그래서 나는 본질적으로 평범한 삭제를 막고 빈 내용을 추가하여 삭제를 시뮬레이트하고있다.