/ / Живий JS / Jquery, Html, CSS Editor - javascript, jquery, html, редактор, редактор багатофункціонального тексту

Live JS / Jquery, Html, CSS Editor - javascript, jquery, html, editor, rich-text-editor

Я створюю власний код наживоhtml / js / jquery / css редактор. Це код для простого введення css, html та javascript (зокрема jquery). CSS і HTML працюють нормально, але незалежно від того, що я роблю ican, я не можу отримати jquery або javascript, що працює ... ось мій код:

var contents = $("iframe").contents(),
body = contents.find("body"),
styleTag = $("<style></style>").appendTo(contents.find("head"));
var makeScript = $("<script class type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>");
var scriptTag = $("<script type="text/javascript"></script>").appendTo(contents.find("head"));
$ ("textarea").keyup(function() {
var ths = $(this);
if (ths.attr("id") === "html") {
body.html(ths.val());
}
else if (ths.attr("id") === "css") {
// it had to be css
styleTag.text(ths.val());
}
else {
makeScript.appendTo(contents.find("head"));
scriptTag.text(ths.val());
}
});

тут мій html:

<div>
<form>
<h2>HTML</h2>
<textarea id="html"></textarea>
<h2>CSS</h2>
<textarea id="css"></textarea>
<h2>JS</h2>
<textarea id="js"></textarea>
</form>
</div>
<div id="output" style="height: 487px;">
<iframe src="about:blank"></iframe>
</div>

якщо хтось бачить щось не так у моєму кодібудь ласка, допоможіть, і якщо ви відповісте, будь ласка, поясніть своє рішення, а не просто набравши блок коду .... і я спробував ввести jquery та регулярний javascript у html textarea (всередині тегу сценарію, але він все ще не працював).

Відповіді:

0 для відповіді № 1

По-перше, я думаю, ти це неправильно написав. Вона повинна бути scriptTag.text(this.val());

Я думаю, що ваше питання йде глибше, ніж це. Наскільки я розумію, що коли ви вставляєте тег скрипту в dom, він оцінюється негайно, але ви очікуєте, щоб ввести фактичний код ПІСЛЯ він уже доданий на сторінку. Переупорядкуйте його.

scriptTag = $("<script type="text/javascript">" + this.val() + "</script>")
.appendTo($("iframe").contents().find("head"));

Примітка. Мені довелося вивести вміст селектора, оскільки він знаходився в межах іншої функції.