大家好我正在jquery mouseleave
活动,我有ckeditor
。我需要在进入鼠标时显示ckeditor
,当鼠标离开时需要触发。我做到了。
当输入时显示(第一张图像)并在ckeditor
中写入一些文字,当应用某种字体(第二张图像)时,它的触发装置ckeditor
将隐藏(第三张图像)。我认为在一些单独的div中打开的字体但是我需要在鼠标离开ckeditor
div时触发它。
Plz检查一次这是我的代码:
<script type="text/javascript">
$(document).ready(function () {
$('#btndiv1').hide();
$('#btndiv').hover(function () {
$('#btndiv1').show();
});
});
</script>
<script type="text/javascript">
$(document).ready(function () {
var editor = CKEDITOR.editor.replace('editor1');
$('#btndiv').mouseleave(function (event) {
$('#btndiv1').hide("slow");
alert(1);
var value = editor.getData();
alert(value);
$('#btndiv').append(value);
});
});
</script>
这里是我的HTML代码:
<div id="btndiv" style="height:400px;width:800px; border:1px solid ">
<div id="btndiv1" style="height:auto;width:auto; border: 1px solid ;">
<textarea rows="10" id="editor1"> </textarea>
</div>
</div>
鼠标输入时这是ckeditor
这是选择应用字体
的时候
这里被解雇了
但是当用户完成设计自己的文本时我需要触发它。我怎样才能做到这一点?任何帮助表示感谢,谢谢。
答案 0 :(得分:0)
CKEditor在DOM的最末端,在正文结束标记之前附加浮动框,如字体选择器。因此它在你的div#btndiv1之外,所以这就是它触发mouseleave事件的原因。
附加的div总是具有相同的类“cke_skin_kama”,所以也许你可以在决定隐藏编辑器之前检查我们是否正在使用这个div。
像这样(未经测试):
$('#btndiv').mouseleave(function (event) {
if (!event.toElement.hasClass('cke_skin_kama')) {
$('#btndiv1').hide("slow");
}
});