Пытаюсь преобразовать этот старый код для работы с новым jquery, но что-то упускаю.
Старый код - он использует Live (), который больше не поддерживается.
$(document).ready(function(){
$("textarea").keydown(function(e) {
if(e.keyCode === 9) {
var start = this.selectionStart;
var end = this.selectionEnd;
var $this = $(this);
var value = $this.val();
$this.val(value.substring(0, start) + "\t" + value.substring(end));
this.selectionStart = this.selectionEnd = start + 1;
e.preventDefault();
}
});
//getting input from all three textareas
function getHTML() {
var html = $('#html').val();
return html;
}
function getCSS() {
var css = $('#css').val();
return css;
}
function getJS() {
var js = $('#js').val();
return js;
}
//put it in the preview area
$('textarea').live("keyup,"function(){
var targetIframe = $('preview')[0].contentWindow.document;
targetIframe.open();
targetIframe.close();
var html=getHTML();
var css ='<style>' + getCSS(); + '</style>';
var js ='<script>' + getJS(); + '</script>';
$('body',targetIframe).append(html);
$('head',targetIframe).append(css);
$('body',targetIframe).append(js);
});
});
С помощью других я получил его здесь, но он все еще не работает.
$(document).ready(function(){
$("textarea").keydown(function(e) {
if(e.keyCode === 9) {
var start = this.selectionStart;
var end = this.selectionEnd;
var $this = $(this);
var value = $this.val();
$this.val(value.substring(0, start) + "\t" + value.substring(end));
this.selectionStart = this.selectionEnd = start + 1;
e.preventDefault();
}
});
//getting input from all three textareas
function getHTML() {
var html = $('#html').val();
return html;
}
function getCSS() {
var css = $('#css').val();
return css;
}
function getJS() {
var js = $('#js').val();
return js;
}
$(document).on("keyup", "textarea", function(){
var targetIframe = $('preview')[0].contentWindow.document;
targetIframe.open();
targetIframe.close();
var html=getHTML();
var css ='<style>' + getCSS(); + '</style>';
var js ='<script>' + getJS(); + '</script>';
$('body',targetIframe).append(html);
$('head',targetIframe).append(css);
$('body',targetIframe).append(js);
});
});
Я знаю, где неправильный код, я получаю сообщение об ошибке в строке, начинающейся с 'var targetiFrame'. Я просто не знаю, как это исправить. Пожалуйста, помогите?