У меня есть редактируемое текстовое поле, в которое я не могу поместить курсор, возможно, потому что обрамление 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');
}
Вы должны использовать prop() вместо attr, если вы устанавливаете true/false – Anton