2013-10-02 2 views
0

У меня есть редактируемое текстовое поле, в которое я не могу поместить курсор, возможно, потому что обрамление DIV ловит щелчок, когда я нажимаю, чтобы переместить курсор или выбрать блок текста. Я думаю, что draggable имеет к этому какое-то отношение, хотя и не уверен.Как сделать мой клик доступным для внутреннего (contentEditable) div?

Любой вход очень ценится.

Вот мой код («curObj» - это фрейм, «внутренний» - это div, который я установил для редактирования).

function textbox_editable() { 
    var curObj = window.curObj; 
    var inner = '#' + $(curObj).attr("id") + ' .object_inner'; 

    //unless the doubleclick was in a textbox that is already activated for editability... 
    if ($(inner).attr('contentEditable') != 'true') { 
     $(inner).attr('contentEditable',true); //set attribute editable 
     $(curobj).draggable("destroy");//remove draggable (it blocks the click-to-move-cursor functionality 
     $(curobj).resizable("destroy");//remove resizable (it blocks the click-to-move-cursor functionality 
     //make cursor text 
     $(inner).css("cursor", 'text'); 
     setEndOfContenteditable(inner) 
    } 
} 

//called when we are done editing the contents of a textbox 
function textbox_uneditable() { 

    $(".object_textbox .object_inner").removeAttr('contentEditable'); //remove editable attribute if it was present 
    $(".object_textbox").draggable(); //reinstate draggable 
    $(".object_textbox").resizable(); //reinstate draggable 
    //restore cursor 
    $(".object_textbox").css("cursor", 'move'); 
} 
+0

Вы должны использовать prop() вместо attr, если вы устанавливаете true/false – Anton

ответ

0

Ой .. опечатка, я curobj на разрушающем-методах вместо curObj ... он работает в настоящее время. Кроме того, setEndOfContenteditable не работает, но это другая проблема.

Смежные вопросы