Es ist ein Rich-Text-Editor gibt es einen div zeigt der Content-Benutzer in getippt, so wie diese:Clickoutside Ereignis doen't Arbeit auf iframe
<div class=‘content’>
<iframe data-role=text-editable.></iframe>
</div>
Wenn ich ein Symbol klicken, die verwendet wird die anrufen Farb-Panel, das Panel wird show.And ich wünsche, wenn ich außerhalb des Panels klicken, wird es hide.so mein Code:
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();
})
es funktioniert gut, wenn ich außerhalb des Panels klicken verschwindet außer ich das klicken iframe.wenn ich auf das ifame klicke, passiert nichts, das Panel wird immer noch angezeigt,
Hilfe ...... ich möchte den Grund wissen. Bitte ... ist das ifame nicht das dom-element außerhalb des Panels?
'farb panel' ist nicht gültigen Variablennamen in Javascript. Welche Sprache codierst du? –
Entschuldigung. das Symbol "-" sollte '' _ 'sein, es ist unterstrichen –
Ich gehe davon aus, dass dein jQuery-Selektor '$ (' color-panel ')' eine Klasse oder eine ID auswählt? Es sollte '$ ('. color-panel ') 'oder' $ (' # color-panel ') '. –