2013-06-10 7 views
2

this editor의 동적으로 생성 된 인스턴스를 통합하는 작은 프로그램을 만들려고합니다.JQueryTE 텍스트 편집기의 동적 인스턴스를 만드는 방법

편집기를 열거 나 닫는 버튼을 만드는 기능 외에는 작동합니다. jsFiddle 내가 지금까지 가지고있는 것 중.

"use strict"; 
$(document).ready(function() { 

var createPad = $("#createPad").click(function() { 
var body = document.getElementById("body"); 

var editorNumberCounter = 1; 
var toggleOnOffCounter= 1; 
var editorName = '.'+ (editorNumberCounter++); 


var status = document.createElement('div'); 
status.className = "status"; 
status.id = "status"; 

var editorName= document.createElement('span'); 
editorName.className = "status"; 
editorName.id = "status"; 

$(body.appendChild(status)); 
$(body.appendChild(editorName)); 

var toggle = status.id + toggleOnOffCounter++; 

    $(editorName).jqte(); 

    // settings of status 
    var jqteStatus = true; 
    $(toggle).click(function() 
    { 
     jqteStatus = jqteStatus ? false : true; 
     $(editorName).jqte({toggle : jqteStatus}) 
    }); 

    }); 

    }); 

답변

0

나는 당신의 코드에 몇 가지 변화를 만들어 냈다. 그래서, 고유해야합니다

  1. editorNumberCountertoggleOnOffCounter 세계적 범위해야 variabiles하거나 증가 된 값을 (동적으로 생성 여부) 요소의
  2. ID를 잃게 :

    나는 점에 의해 그들에게 점을 설명하려고 카운터를 고려하여 div 및 span 요소를 만들면 bind 메서드를 사용해야 동적으로 생성 된 요소에 대해

  3. toggle 프로를 사용해야합니다. 퍼티가 존재하지 않는다! 당신은 status 속성을 사용해야합니다 바인더 제본되어 JQTE 위에 요소가 클릭 된 요소 다음으로 다음 요소를 얻을 수있다

코드 : http://jsfiddle.net/IrvinDominin/UfhNQ/14/

+0

감사 : 여기

var editorNumberCounter = 0; var toggleOnOffCounter = 0; $(document).ready(function() { var createPad = $("#createPad").click(function() { var body = document.getElementById("body"); var editorName = '.' + editorNumberCounter++; toggleOnOffCounter++; var status = document.createElement('div'); status.className = "status"; status.id = "div_status" + editorNumberCounter; var editorName = document.createElement('span'); editorName.className = "status"; editorName.id = "span_status" + editorNumberCounter; $(body.appendChild(status)); $(body.appendChild(editorName)); $(editorName).jqte(); // settings of status var jqteStatus = true; $("#div_status" + editorNumberCounter).bind("click",function() { jqteStatus = jqteStatus ? false : true; $(this).next().jqte({ status: jqteStatus }) }); }); }); 

이 작업 바이올린입니다 이것을 위해, 그리고 그것이 효과가 없었던 이유에 대한 훌륭한 요약에 감사드립니다! – William

+0

실제로 코드는 기술적으로는 정확하지만 JQueryTE에서 span 요소를 사용할 때 결과는 편집자를 닫을 때 편집 상태를 유지하는 것으로 간주됩니다. 내/귀하의 버전이 간단 편집기를 닫으면 플러그인의 기능을 깰. 나는 당신이 뭘했는지 기술적으로 정확했지만 뭔가 옳지 않다는 것을 의미합니다. – William

+0

하지만 버튼을 클릭 할 때 달성하고자하는 것은 무엇입니까? –