它是一个富文本编辑器,用户输入的内容有一个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元素吗?
答案 0 :(得分:0)
您可以通过聆听网页正文元素的点击来听取外部点击(因此,点击任何元素),然后您可以通过发出另一个事件“{1}}来排除此事件我点击了,忽略任何其他点击“。效果将正是您想要的,您可以听取外部点击:
.color_panel