我的网站中有一个jquery函数,它要求可更改文本的DIV可编辑,可拖动和可调整大小,但是,在我更改DIV的内容后,DIV将失去调整大小的能力。
我希望有人可以帮助我,这是代码:
HTML
<form id="myform">
<select id="fs">
<option value="Arial">Arial</option>
<option value="Verdana ">Verdana </option>
<option value="Impact ">Impact </option>
<option value="Comic Sans MS">Comic Sans MS</option>
</select>
<select id="size">
<option value="7">7</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
</select>
</form>
<textarea id="txt" style="width:400px; height:100px;"></textarea>
<div id='test' >
test
</div>
CSS
#test {
max-width: 360px;
max-height: 320px;
padding: 0;
z-index: 1000;
}
}
Jquery的
$(function(){
$('#txt').keyup(function(){
$('#test').text($(this).val());
});
});
$(function(){
$("#test").resizable({
maxHeight: 360,
maxWidth: 320
});
$("#test").draggable();
});
$("#fs").change(function() {
//alert($(this).val());
$('#test').css("font-family", $(this).val());
});
$("#size").change(function() {
$('#test').css("font-size", $(this).val() + "px");
});
也是完整的东西的小提琴: http://jsfiddle.net/JTVRZ/18/
答案 0 :(得分:2)
有同样的问题,谷歌搜索它带我到这里,上述建议没有解决我的问题。
然而,它确实指出了我正确的方向...我需要销毁控件上的原始可调整大小的引用,以便重新实例化它。$('#MyContol').resizable('destroy');
$('#MyContol').text(newtext);
$('#MyContol').resizable({ containment: $('#MyContol').parent() });
希望能帮助其他人解决这个问题。
答案 1 :(得分:1)
您的问题正在发生,因为当您修改div竞争时,您将覆盖div中可调整大小的句柄元素。
您可以尝试在可调整大小的div中创建另一个100%宽度和高度的div来保存内容。
答案 2 :(得分:0)
resizable函数在div上添加了一些标记(你可以使用firebug检查它)。当您替换文本时,该标记将丢失,因此您的div失去了调整大小的能力。更改文本后,应再次调用resizable函数。