在IE中防止在contenteditable div中调整按钮的大小

时间:2014-11-11 15:52:55

标签: javascript html resize contenteditable

我们有一个类型为按钮的样式禁用输入,我们将其用作内容可编辑区域中其他内容的占位符。问题是IE(我们专门针对IE10)似乎完全忽略了resizestart事件,因此当您点击该元素时,您可以重新调整它。我们希望防止这种情况,但仍然允许选择和拖动元素。这似乎适用于图像。

元素选择背后的故事是长篇大论,所以现在我们假设我们无法改变元素。

更新: 这里有一个jsfiddle来证明这个问题以及相关的示例代码:

<div contenteditable="true">
    <input type="button" value="test" disabled="disabled" onresizestart="return false;" onresize="return false;" id="test" />
</div>

1 个答案:

答案 0 :(得分:2)

这远非理想,但有效。你可以捕捉&#34; mouseup&#34; 容器的事件并重置控件的宽度和高度:

$('#container').mouseup(function(e){
    var $btn = $("#test");
    $btn.css('width','');
    $btn.css('height','')
})

这不会删除调整大小的方块,视觉用户可以暂时调整控件的大小,但只要释放鼠标按钮,控制就会捕捉到原始大小。

演示:http://jsfiddle.net/5swkeqh9/2/