У меня есть функция showHide(), которая поочередно показывает и скрывает текстовое поле ввода и кнопку (кнопка2) при нажатии другой кнопки (кнопка1). Поле ввода текста автоматически фокусируется, когда оно открывается, и это отлично работает.проверить, нажата ли кнопка перед запуском функции на элементе.blur()
HTML, выглядит примерно так:
<button1>Show/Hide</button>
<form>
<input class="hidden" type="text" />
<button2 type="submit">Submit</button>
</form>
<script type="text/javascript">
$("button1.someSelectors").click(function() {showHide();});
$("input.someSelectors").blur(function() {showHide();})
</script>
Я хотел бы расширить функции таким образом, что, когда поле ввода теряет фокус его и button1 исчезают, если не теряет фокус, потому что button1 идет щелкнул. Поскольку он читает сейчас, я проверяю, имеет ли поле ввода фокус или нет. Как я могу проверить, нажата ли кнопка2 или нет?
Я пробовал:
$("input.someSelectors").blur(function() {
if (!$("button2.someSelectors").is(":focus")) {
showHide();
}
});
но скрыли элементы формы, даже когда я пытался нажав button2.
Альтернативой было бы проверить, является ли button2 быть нажата или нет в «скрыть» часть функции, но когда я добавил
if(!$("button2.someSelectors").click()) {do the hide part of the function}
в ПоказатьСкрыть(), форма получила представляется, когда я нажал кнопка1 или кнопка2. Вот моя проблема: example. Может ли кто-нибудь помочь?
- Edit:
var showHide=function(item, category) {
if($("input."+item+"."+category).hasClass("hidden")) {
$("input."+item+"."+category).show("fast").focus().removeClass("hidden");
$("button.buy."+item+"."+category).show("fast");
$("button.purchase."+item+"."+category).text("Never mind!");
} else {
$("input."+item).hide("fast").addClass("hidden");
$("button.buy."+item).hide("fast");
$("button.purchase."+item).text("Purchase");
}
}
MouseDown = нажмите -> Значение Нажмите = (MouseDown на кнопку и отведении указателя мыши на кнопку и MouseUp) –
Это приводит к тому, что поля формы появляются и тут же исчезают!. Возможно ли, что input.blur() тестируется до ввода.focus() применяется функцией showHide()? – Kyle
Можете ли вы показать код 'ShowHide'? – ShankarSangoli