我在一个名为text_editor的div中有一个tinyMCE textarea。 所以我有我的jQuery:
$('#text_editor').hover(function(){
mouse_is_inside=true;
}, function(){
mouse_is_inside=false;
});
$('body').mouseup(function(){
if(! mouse_is_inside){
$('#text_editor').hide();
}
});
当用户在div文本编辑器外部单击时,这将隐藏,但如果用户选择字体系列或字体大小,则文本编辑器隐藏,所以我在我的jQuery中添加它:
$(document).on('click', '.mceMenuItem, .mceColorSplitMenu, .mceBottom, .mceMoreColors', function(e){
e.stopPropagation();
$('#text_editor').show();
});
这解决了问题开销。但如果用户点击颜色选择器 - 更多颜色,打开一个新窗口,并且text_editor隐藏,我不希望这样。
答案 0 :(得分:1)
var $editor = $('#text_editor');
$('textarea').click(function(e){
e.stopPropagation();
$editor.fadeTo(400,1);
});
$('body').on('click', function ( e ) {
if( !($(e.target).is('#text_editor')) && $editor.is(':visible') ){
$editor.hide();
}
});