IE9:在可信任的div中的非可满足范围可调整大小

时间:2013-01-04 18:28:57

标签: javascript html5 internet-explorer-9 contenteditable

我试图在一个令人满意的div中包含一些不可编辑的内容。 下面的代码渲染在IE9(以及其他浏览器)中做得很好。但仅凭IE9我就会发现一个奇怪的问题。不可编辑的内容在IE9中可以重新调整大小。我不想要这种行为。因此,我想通过尝试捕捉跨度上的点击事件而忽略相同的行为。然后我观察到另一个问题,即没有调用click事件函数。看起来确实没有任何事件可以附加到该跨度。有趣的是,当我删除了跨度的那个满足属性时,它开始拾取事件(但这并没有帮助,因为我需要它非内容可编辑)。

所以问题是我们如何防止用户在IE9下面调整此范围?

<html>
<head>
  <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
  <script type="text/javascript">
  $(document).ready(function() {
    $('span').bind('click', function(e) {
      e.preventDefault(); return false;
    });
  });
  </script>
</head>
<body>
    <div contenteditable="true">
      <span contenteditable="false">non-editable</span>
      editable div
    </div>
</body>
</html>

有趣的是,当我在jsfiddle上尝试这个时,我发现我的问题已经解决了。我发现跨度确实无法调整。然后我意识到如果我在i帧中渲染我的上述内容,那么它的行为就像我希望的那样(即禁用调整大小)。但是,这是一个非常粗糙的解决方案。我希望应该找到一个更好的解决方案。

0 个答案:

没有答案