0

我想打开CKEDITORon click-eventof div,并希望textareackeditor 中的 div 内容,但不知何故这不起作用。

在此先感谢,并为我糟糕的英语感到抱歉

function createEditor() {

    $('DIV').click(function(event) {
        var id1 = event.target.id;
        //alert(id1);

        document.getElementById("editor1").value = '';
        var newtext = document.getElementById(id1).innerHTML;
        alert(newtext);
        document.getElementById("editor1").value += newtext;
    });

    document.getElementById("contents").style.display = "block";
}
4

4 回答 4

0

删除 createEditor() 函数并尝试

 $('DIV').click(function(event) {
    var id1 = event.target.id;
    //alert(id1);

    document.getElementById("editor1").value = '';
    var newtext = document.getElementById(id1).innerHTML;
    alert(newtext);
    document.getElementById("editor1").value += newtext;
});

document.getElementById("contents").style.display = "block";
于 2012-11-19T13:40:22.247 回答
0

如果您只想要单击的 div 的文本并且您正在使用 jQuery,请尝试

$("div").click( function() {
    var newtext = $(this).text();
    $("#editor1").text( newtext );
});
于 2012-11-19T14:28:59.557 回答
0

这个解决方案将更多地依赖 jQuery。首先,如果您希望在单击 a 时触发此功能div,请摆脱您的function(),因为每次div单击 a 时都会触发您的事件,所以没有必要。

这应该可以解决您的问题:

$('div').click(function(e) {
    $id1 = $(this).attr("id");
    alert($id1);

   $("#editor1").val(' '); //Are you sure you want to empty your textarea?
   $newtext = $("#"+$id1).html();
   alert($newtext);
   $("#editor1").val($newtext); //Because when you append the newtext it won't append but replace the text it's already on this.

   $("#contents").css("display","block");
});

这是一个使用您的函数的类似示例的 小提琴:

于 2012-11-19T14:24:18.320 回答
0

试试这个将数据添加到文本区域。

$("#editor1").val(newtext);

或使用

$('#editor1').append(newtext); 
于 2012-11-19T14:23:10.403 回答