日期:2014-05-16  浏览次数:20464 次

ckeditor拓展onclick事件问题
<textarea cols="80" id="editor" name="editor" rows="10">
<div onclick='showLineInfo(this.tabIndex,this.id)' tabIndex="+tabId+" id="+data.index+"><lable>"+data.caption+":</lable><img src='editTypeImages/text.jpg'></div>
</textarea>
这样的经过ckeditor初始化以后onclick事件就会变成data-cke-pa-onclick=“showLineInfo(this.tabIndex,this.id)”事件就会没有效果,有什么方法解决?
尝试过改源码后onclick不会变成data-cke-pa-onclick但是点击也会报找不到showLineInfo();方法的错误,
求大神指点!!!!!!!!

------解决方案--------------------
在ckeditor里编写的onclick事件都会暂时替换为data-cke-pa-onclick的,楼主放心好了,不信你点编辑器的源代码显示,它会正确显示onclick。你一定是在firebug下看到变成data-cke-pa-onclick的。我猜应该是ckeditor为了在编辑时以防随意触发onclick事件,故意临时修改此事件名称,而真正你获取数据时它会帮你再更换回来。
至于报找不到showLineInfo()错误,这跟ckeditor一点关系都没,因为函数名是你自己写的,不要懒ckeditor.
------解决方案--------------------
你还没明白呀?说了是临时、暂时的修改了,你点编辑器“源代码”查看是正常的onclick,包括你提交让程序读取后的也一样是正常的onclick.唯独在编辑状态也你用firebug查看到的才是data-cke-pa-onclick
因为这是所见即所得的编辑器,如果不暂时替换了,那你没法编辑了,随便点一下就执行了onclick事件。
换句话说:你别理它,当这事不存在,编辑器是正常的。
------解决方案--------------------
ckeditor编辑器演示
你的确定自己尝试了?
我特地制作在线编辑器给你测试一下:在第一个编辑器“源代码”模式下输入代码:
HTML code
<div onclick="alert('ok')">点击一下</div>