主题: 请管理员或高手帮我看看,下面的按照例子写的代码为什么不能响应输入时的事件。 |
作者: inthefly, 发布日期: 2009-12-31 15:45:50, 浏览数: 7027 |
以下是我按照kingeditor的例子写的一个测试,但是在输入字符时却不能响应事件,请各位前辈指点一下。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>KindEditor</title>
<style type="text/css" rel="stylesheet">
.editor {
margin-top: 5px;
margin-bottom: 5px;
}
</style>
<script type="text/javascript" charset="utf-8" src="./../kindeditor.js"></script>
<script type="text/javascript">
KE.init({
id : 'content1',
cssPath : './index.css',
newlineTag : 'br',
items : [
'fontname', 'fontsize', 'textcolor', 'bgcolor', 'bold', 'italic', 'underline',
'removeformat', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',
'insertunorderedlist', 'emoticons', 'image', 'link']
});
KE.event.ready(function(){
KE.create('content1');
//可视化模式下输入文字时
KE.event.input(KE.g['content1'].iframeDoc, function(){
alert('ok');
});
});
KE.event.add(window, 'load', function() {
KE.create('content1');
KE.plugin['fullscreen'].click('content1');
});
function SetData()
{
KE.util.setData('content1');
}
function clearEditor(id) {
KE.g[id].iframeDoc.open();
KE.g[id].iframeDoc.write(KE.util.getFullHtml(id));
KE.g[id].iframeDoc.close();
KE.g[id].newTextarea.value = '';
}
function insertHtml(id, html) {
clearEditor(id);
KE.util.focus(id);
KE.util.selection(id);
KE.util.insertHtml(id, html);
}
</script>
</head>
<body>
<h3>全屏模式</h3>
<div class="editor">
<textarea id="content1" name="content" style="width:700px;height:300px;visibility:hidden;"></textarea>
</div>
</body>
</html>
|
作者: Roddy, 发布日期: 2009-12-31 15:56:57 |
为什么创建2次?不要2次调用KE.create,都放在KE.event.ready里就可以了。
KE.event.ready(function(){ KE.create('content1'); KE.plugin['fullscreen'].click('content1'); //可视化模式下输入文字时 KE.event.input(KE.g['content1'].iframeDoc, function(){ alert('ok'); }); }); |
回复 |
作者: inthefly, 发布日期: 2009-12-31 16:43:54 |
非常感谢,因为还不是非常熟悉API函数!
不过写在一起后,还是不能在输入的时候弹出alert提示框。 是不是在全屏的模式下,输入事件不能响应??这是一个BUG吧? |
回复 |
作者: Roddy, 发布日期: 2009-12-31 17:27:41 |
添加事件需要放在afterCreate回调函数里,否则全屏以后将失效事件,因为编辑器全屏时重新创建DOM。
KE.init({ id : 'content1', afterCreate : function() { //可视化模式下输入文字时 KE.event.input(KE.g['content1'].iframeDoc, function(){ alert('ok'); }); } }); KE.event.ready(function(){ KE.create('content1'); KE.plugin['fullscreen'].click('content1'); }); |
回复 |