你说的这种很容易出问题,如果做成浮动层,那编辑框中的div有一个参考坐标系,但当你这些内容放到新的网页中后,那里又是一个坐标系。这样就出问题了:当你在编辑框中看着好像位置对了,完全调好了,但是到真实呈现出来之后却变了。

解决方案 »

  1.   

    请wideroad指点一下.你上面的意思我大概明白了,我还是想先把识别鼠标事件做出来,能不能帮我改改上面的程序呢,以后的问题再想办法解决.我想了好久都不知道怎么实现.多谢!多谢!
      

  2.   

    You cannot execute script when the value of the designMode property is set to On.
      

  3.   

    哦.那这种模式就判了死刑了.my GOD!有没有其他模式???????????不过我看一般的editor都有用designMode=On.....
      

  4.   

    我也是刚看dhtml手册时碰巧看到的上面还有一段关于UI-activated state看不懂,其他editor有的话,就拷贝下来看看怎么用吧
      

  5.   

    能不能再给解决一下designMode=On的问题,
    首先,On时是不是不可以真的不可以识别鼠标事件?上面的仁兄已经说不可以了,我还是不死心,再求证一下
    其次,如果不采用On这个模式是不是就没有办法做编辑器,我还有没有其他方法可以实现?
      

  6.   

    能不能再给解决一下designMode=On的问题,
    首先,On时是不是不可以真的不可以识别鼠标事件?
    ------------------------
    你可以试试看就知道了,如果你不兼容其它的浏览器,只用IE contenteditable='true',可以不用designMode="on":<iframe id="editor" height="500" width="500"></iframe>
    <script>
    var edt = document.getElementById("editor");
    var doc = edt.contentWindow.document;
    doc.open();
    doc.write("<html><head></head><body  contenteditable='true'><div style='color:blue;font-weight:bold;position:absolute;left:200;top:300'>never-online</div><textarea style='width:200px;heigh:100px;'></textarea></body></html>");
    doc.close();
    //doc.designMode="on";
    doc.onmousedown = function() {
    alert();
    }
    </script>
      

  7.   


    能不能再给解决一下designMode=On的问题,
    首先,On时是不是不可以真的不可以识别鼠标事件?
    ------------------------
    你可以试试看就知道了,如果你不兼容其它的浏览器,只用IE contenteditable='true',可以不用designMode="on":<iframe id="editor" height="500" width="500"></iframe>
    <script>
    var edt = document.getElementById("editor");
    var doc = edt.contentWindow.document;
    doc.open();
    doc.write("<html><head></head><body  contenteditable='true'><div style='color:blue;font-weight:bold;position:absolute;left:200;top:300'>never-online</div><textarea style='width:200px;heigh:100px;'></textarea></body></html>");
    doc.close();
    //doc.designMode="on";
    doc.onmousedown = function() {
    alert();
    }
    </script>
      

  8.   

    我觉得这个问题是可以解决的,首先iframe的designMode虽然被设置成了On,Body中的js确实不能执行,但是却可以给iframe的document绑定事件,这样就能解决这个问题。1。绑定onselectionchange事件,在处理方法中获取用户获取的selection,如果selection的类型是control而且range的数量是1,那就表明用户点击选中了一个元素。
    2。然后可以判断这个元素的position属性是不是浮动的。
    3。如果是浮动的,那就绑定document的mousemove事件,接下来就是计算鼠标位置,然后设置对象的left和top属性了这样做具体形不行我还没试过,不过写起来比较麻烦,哈哈
      

  9.   

    我上面说的是在ie下的做法,在firefox下比较麻烦,就是你得自己写程序来判断类型是不是control