【发布时间】:2016-07-28 16:04:08
【问题描述】:
这是一个富文本编辑器,有一个 div 显示用户输入的内容,就像这样:
<div class=‘content’>
<iframe data-role=text-editable.></iframe>
</div>
当我点击一个用来调用颜色面板的图标时,面板会显示出来。我希望当我点击面板外时,它会被隐藏。所以我的代码是:
var color_panel = $('.color-panel');
color_panel.on("clickoutside", function (e) {
var t = $(e.target);
if ($.contains(color_panel[0], t[0]))
return;
color_panel.hide();
})
当我点击外部面板时它会消失,除非我点击 iframe。当我点击 ifame 时,没有任何反应,面板仍然显示,
求助……我想知道原因。请问……ifame不是面板外的dom元素吗?
【问题讨论】:
-
color-panel在 javascript 中不是有效的变量名。你在编码哪种语言??? -
对不起。符号"-"应该是''_",是下划线
-
我假设您的 jQuery 选择器
$('color-panel')打算选择一个类或一个 ID?应该是$('.color-panel')或$('#color-panel')。 -
您必须提供您正在使用的相关代码,而不是一些充满拼写错误的随机代码。也就是说,您无法捕获跨域 iframe 的点击,但我不确定这与您的问题有关
-
你有花哨的引号,这是一个错误。
标签: javascript jquery dom web-frontend