У меня есть несколько div и я показываю TextBox при щелчке. TextBox копируется из другого div. Он работает нормально, но когда я сосредоточен на TextBox, он исчезает. Что я делаю не так?JQuery - Текстовое поле скрывается в фокусе
HTML
<table>
<tr>
<td>
<div class="panel_call">
Call 1
<div class="panel_authenticate_container" style="display: none">
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="panel_call">
Call 2
<div class="panel_authenticate_container" style="display: none">
</div>
</div>
</td>
</tr>
</table>
<div class="panel_authenticate" style="display: none;">
Email:
<input id="Text1" type="text" />
</div>
Jquery
$(".panel_call").click(function(e) {
if ($(e.target).closest("tr").find(".panel_authenticate_container").is(":visible")) {
var c = $(e.target).closest("tr").find(".panel_authenticate_container").html();
$(".panel_authenticate").html(c);
$(e.target).closest("tr").find(".panel_authenticate_container").html("");
$(e.target).closest("tr").find(".panel_authenticate_container").hide();
}
else {
if ($(".panel_authenticate_container:visible").length > 0) {
var b = $(".panel_authenticate_container:visible").html();
$(".panel_authenticate").html(b);
$(".panel_authenticate_container:visible").html("");
$(".panel_authenticate_container:visible").hide();
}
var a = $(".panel_authenticate").html();
$(e.target).closest("tr").find(".panel_authenticate_container").html(a);
$(e.target).closest("tr").find(".panel_authenticate_container").show();
$(".panel_authenticate").html("");
$(".panel_authenticate").hide();
}
});
это работает нормально, но вместо 'if ($ (e.target) .is (": input "))' могу ли я это сделать, если '($ (e .TARGET). ("panel_authenticate_container")) '? – enb081
Как я могу сделать это для panel_authenticate_container и всех элементов внутри него? – enb081
Удивительный! Благодаря! Если вам нравится, вы можете обновить ответ так, чтобы он был более общим и полезным для других, потому что это то, что я искал – enb081