Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 Textarea未从jQuery生成_Javascript_Jquery_Css - Fatal编程技术网

Javascript Textarea未从jQuery生成

Javascript Textarea未从jQuery生成,javascript,jquery,css,Javascript,Jquery,Css,我正在尝试使用jquery-1.11.1创建一个网站,每当我单击仅在div上显示的mouseenter链接时,我都希望在其中生成一个。但是我的控制台中出现了一个错误 未捕获引用错误:未定义inputdivEditor(请忽略JSFIDLE错误) 我完全不知道我为什么会得到这个。这是我的密码 $(document).ready(function () { $("[id^=divEditor-]").each(function () { var content = $(th

我正在尝试使用
jquery-1.11.1
创建一个网站,每当我单击仅在div上显示的
mouseenter
链接时,我都希望在其中生成一个
。但是我的控制台中出现了一个错误

未捕获引用错误:未定义inputdivEditor(请忽略JSFIDLE错误)

我完全不知道我为什么会得到这个。这是我的密码

$(document).ready(function () {
    $("[id^=divEditor-]").each(function () {
        var content = $(this).html();
        var targetID = $(this).attr('id');
        var txtID = 'input' + targetID;

        $('<textarea id="input' + targetID + '" name="' + txtID + '" >' + content + '</textarea>').insertBefore(this).css('display', 'none');
        var button = "<a onclick='activateDivEditor(this, " + txtID + ")' class='custom-edit-button editDiv' id='active" + targetID + "'>Embed Code</a>";

        $(this).on('mouseenter', function () {
            $(this).prepend($(button));
            $(this).css('position', 'relative');
        });
        $(this).on('mouseleave', function () {
            $('.editDiv').remove();
        });
    });
});

function activateDivEditor(btn, txtId) {
    var targetID = $(btn).parent().get(0).id;
    var update = "<a onclick='deactivateDivEditor(this, " + txtId + ")' class='custom-edit-button updatediv' id='deactive" + targetID + "'>Update</a>";
    var cancel = "<a onclick='cancelactivateDivEditor(this)' class='custom-edit-button cancel' id='cancelactive" + targetID + "'>Cancel</a>";
    var targetClass = $('#' + targetID).attr('class');
    var targetWidth = $('#' + targetID).width();
    $('#' + targetID).css('display', 'none');
    $('#input' + targetID).css('display', 'block').css('width', targetWidth - 2).css('height', '125px');
    $('#input' + targetID).parent().css('position', 'relative');
    $(update).prependTo($('#input' + targetID).parent());
    $(cancel).prependTo($('#input' + targetID).parent());
}
$(文档).ready(函数(){
$(“[id^=divEditor-]”。每个(函数(){
var content=$(this.html();
var targetID=$(this.attr('id');
var txtID='input'+targetID;
$(''+content+'').insertBefore(this.css('display','none');
变量按钮=”


当我点击按钮链接时,如何生成文本区域?非常需要此帮助。谢谢。

查看行
var update=“update”
,例如,
txtId
没有用引号括起来,因此不是字符串。它应该是
停用编辑器(这是“\'”+txtId+“\”)
在您的情况下。您的代码可以使用一点重构来避免添加所有内联
onclick=“…”
处理程序。无论如何,您都在使用jQuery,为什么不利用它的简单事件委派系统和
.on()
设置这些处理程序?这样,您就不必担心在构建这些字符串时在所有正确的位置获得所有单引号和双引号。您的函数没有定义,因为在JSFIDLE中您选择了选项“onLoad”在左侧。这会将其放入另一个事件侦听器函数中,该函数会阻止元素访问函数。请改用“No wrap-in
”。此外,ID必须是唯一的,如果您没有将anchor onclick处理程序用于离开页面的导航,则anchor onclick处理程序也需要一个preventDefault