|
主题: 请教一个问题.
|
 西楼居士
职务:普通成员
等级:1
金币:0.0
发贴:39
注册:2002/4/26 9:55:55
|
#12002/5/14 16:49:58
将一个页面desingmode置on后对页面进行编排, 当选中一对象如 TABLE 时,可否通过 selection 对该元素属性进行改变?javascript & vbscript 皆可.
|
 5D荣誉斑竹
职务:普通成员
等级:5
金币:10.0
发贴:3292
注册:2001/5/24 10:01:29
|
#22002/5/14 16:55:15
不明白,你用的是什么软件?
|
 西楼居士
职务:普通成员
等级:1
金币:0.0
发贴:39
注册:2002/4/26 9:55:55
|
#32002/5/14 17:01:31
谢谢斑竹回复, 用的是 html + javascript.
编辑历史:[这消息被西楼居士编辑过(编辑时间2002-05-14 17:09:39)]
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#42002/5/14 18:30:56
写入编辑页面的TABLE(或其他HTML元素)是无法直接修改的; 但是可以分析innerHtml文本,相当于用JS分析HTML结构,修改元素属性后TextRange.pasteHTML 写回页面,比较的麻烦。
编辑历史:[这消息被ridincal编辑过(编辑时间2002-05-14 18:31:58)] [这消息被ridincal编辑过(编辑时间2002-05-14 20:23:19)]
|
 西楼居士
职务:普通成员
等级:1
金币:0.0
发贴:39
注册:2002/4/26 9:55:55
|
#52002/5/15 8:31:47
谢谢斑竹回复, 使用 TextRange.pasteHTML 写回页面的方法对于生成一个对象确实很有用,但比如说对写入编辑页面的TABLE的背景色进行编辑,确似乎勉为其难,我指的是当该对象用鼠标选定而获得编辑句柄后,通过一对话框添入如背景色等属性从而动态的改变. 但被选定的TABLE SELECTION 只能返回TYPE .也就是说我无法通过JS确定当前selection 的 id 或 name .只要能确定便万事大吉.因为我已试过使用all 遍历后可将tagName 是 table 的对象属性任意设置.后在用innerText 取回代码,但您也知道这个办法无法确定当前在编辑哪个对象. 另外 对一control 使用 Createrange 后应该是无法pasteHTML. 目前我的这个js编辑器已经可以图文混排,对字体可进行任意设置.配合php可实时变更一个页面,但无法改变 table 的属性, 真是美中不足.希望大家展开讨论.
再次谢谢斑竹回复,
编辑历史:[这消息被西楼居士编辑过(编辑时间2002-05-15 08:40:23)]
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#62002/5/15 10:40:30
你的问题很有讨论的意义!+3分!!
我还没有写代码测试(你也知道,从头写一个JS编辑器比较麻烦的),但我觉得既然表格已经处于选中,应该没有必要再获得其id或name,在弹出修改对话框的同时记录下selection,在修改完后直接修改这个selection应该是可以的? 可否给出一个你的JS编辑器的网址或前台部分的下载?大家共同讨论完成这个技术问题,相信是很有意义的!!
|
 5D荣誉斑竹
职务:普通成员
等级:5
金币:10.0
发贴:3292
注册:2001/5/24 10:01:29
|
#72002/5/15 17:18:23
直接定义ID,修改其属性可不可以呢?
|
 西楼居士
职务:普通成员
等级:1
金币:0.0
发贴:39
注册:2002/4/26 9:55:55
|
#82002/5/16 8:18:15
谢谢hve及ridincal回复。 问题已解决, var tabid = object.selection.createRange().item(0) 现在可以返回tabid 的任何属性了.
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#92002/5/16 10:17:30
利用controlRange的item方法返回所选对象,的确是个不错的思路; 先收藏备忘,待我测试测试……
编辑历史:[这消息被ridincal编辑过(编辑时间2002-05-16 10:34:06)] [这消息被ridincal编辑过(编辑时间2002-05-16 10:35:26)] [这消息被ridincal编辑过(编辑时间2002-05-16 10:36:12)]
|