Функция keyup выполнена, хотя она не вызывается

0

У меня есть вход под названием itemtitle. Когда я нажимаю кнопку, элемент, называемый счетчиком, увеличивается на единицу. Поэтому приведенный ниже код работает для первого элемента. Внутренний счетчик divHTML равен 1, и когда я пишу в элементе itemtitle, текст появляется на элементе 1.

if (document.getElementById("counter").innerHTML === "1"){  
$("#itemtitle").keyup(function() {
$("#item1").html($("#itemtitle").val());
});

Я снова нажимаю кнопку, а счетчик innerHTML увеличивается до 2. У меня есть следующий код.

if (document.getElementById("counter").innerHTML === "2"){  
$("#itemtitle").keyup(function() {
$("#item2").html($("#itemtitle").val());
});

Но когда я пишу в элементе itemtitle, текст появляется как для item1, так и для item2. Даже если значение счетчика равно 2. Как я могу это решить? Когда счетчик равен 1, я хочу, чтобы текст переходил в пункт 1. И когда счетчик равен 2, он должен перейти только к пункту 2.

заранее спасибо

  • 0
    Вы регистрируете функцию keyup на основе значения счетчика. С тех пор он ВСЕГДА активен. Узнайте о событиях и слушателях событий в целом, как это работает, прямо сейчас вы полностью ошибаетесь в их отношении.
Теги:

2 ответа

0

Я решил это сейчас. И все еще были в состоянии разлучить их. Я изменил его на:

$("#itemtitle").keyup(function() {
if (document.getElementById("counter").innerHTML === "1"){
$("#item1").html($("#itemtitle").val());
}
});

Таким образом, он проверяет значение всякий раз, когда я что-то вводил во вход.

0

Вы регистрируете событие keyup на основе этих двух условий if, поэтому это не означает, что конкретные events будут срабатывать только тогда, if condition соответствует, оно будет срабатывать все время. Итак, что вы должны сделать, это написать if condition внутри этого события keyup, чтобы оператор ветвления реагировал в соответствии с значениями html. т.е.] 1 или 2

Попробуй это,

$("#itemtitle").keyup(function() {
   if($.trim($("#counter").html()) === "1")
     {
       $("#item1").html($(this).val());
     }
   else
     {
       $("#item2").html($(this).val());
     }
});
  • 0
    Проблема в том, что они должны быть отделены. Так что я не могу заставить это работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню