EventListener не удаляетсяJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 EventListener не удаляется

Сообщение Anonymous »

У меня есть Javascript, который отлично работает при первой загрузке, но не работает при обратной передаче. После некоторого чтения мне кажется, что мне нужно удалить EventListeners и перепривязать их. Итак, у меня есть следующий код. При первой загрузке срабатывают следующие оповещения:
  • Add_Load
  • PageLoadStuff Start
    < li>Переменные PageLoadStuff
  • PageLoadStuff Complete
  • PageLoadStuff Start
  • Переменные PageLoadStuff
  • PageLoadStuff Complete
Я ввожу текстовое поле, и счетчики начинают обратный отсчет, как и ожидалось. Я нажимаю кнопку, которая запускает обратную передачу. После этого мои оповещения:

[*]Это обратная передача!
[*]null
< /ul>
И счетчики полностью перестают работать. Это не внутри панели обновления. Я предполагаю, что я удалю EventListeners, а затем добавлю их обратно, снова запустив функцию PageLoadStuff, но я даже не уверен, правильно ли это.
РЕДАКТИРОВАТЬ : Если в блоке кода «isPostback» я закомментирую все, кроме PageLoadStuff(), предупреждение «PageLoadStuff Complete» никогда не появится, поэтому я предполагаю, что оно умирает в addEventListener.
Вот мой сценарий:


function PageLoadStuff() {
alert("PageLoadStuff Start");
const textArea2 = document.getElementById('TextBox_Follow_Up_Answer2');
const label1 = document.getElementById('Label_Answer_Char_Count');
const label2 = document.getElementById('Label_Answer_Char_Count2');
const labelRemaining1 = document.getElementById('Label_Answer_Char_Remaining');
const labelRemaining2 = document.getElementById('Label_Answer_Char_Remaining2');
alert("PageLoadStuff Vars");

// Add input event listener for text area
textArea2.addEventListener('input', IncrementCounters);

function IncrementCounters() {
textCounter(textArea2, 3000, label1, labelRemaining1);
textCounter2(textArea2, 865, label2, labelRemaining2);
// alert("Event Listener - DOMContentLoaded");
}
alert("PageLoadStuff Complete");
}

var isPostBack = '' == 'True';
if (isPostBack) {
alert("It's a PostBack!");
const textArea2 = document.getElementById('TextBox_Follow_Up_Answer2');
alert(textArea2);
document.removeEventListener('DOMContentLoaded', PageLoadStuff);
textArea2.removeEventListener('input', IncrementCounters);
alert("EventListeners Removed");
PageLoadStuff();

}

if (document.readyState == 'loading') {
// still loading, wait for the event
document.addEventListener('DOMContentLoaded', PageLoadStuff);
} else {
PageLoadStuff();
}

Sys.Application.add_load(function () {
alert("Add_Load");
PageLoadStuff();
});

function textCounter(field, maxlimit, label, label2) {
if (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
else {

label.innerHTML = maxlimit - field.value.length;
}
if (field.value.length > maxlimit - 500) {
label.style.color = "#FF0000";
label2.style.color = "#FF0000";
}
else {
label.style.color = "#000000";
label2.style.color = "#000000";
}
// alert("textCounter Fired");
}

function textCounter2(field, maxlimit, label, label2) {
if (field.value.length > maxlimit)
field.value = field.value;
else {

label.innerHTML = maxlimit - field.value.length;
}
if (field.value.length > maxlimit - 200) {
label.style.color = "#FF0000";
label2.style.color = "#FF0000";
}
else {
label.style.color = "#000000";
label2.style.color = "#000000";
}
// alert("textCounter2 Fired");
}










3000
characters remaining :
865
characters remaining for email






























Подробнее здесь: https://stackoverflow.com/questions/789 ... ng-removed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • EventListener не удаляется
    Anonymous » » в форуме Jquery
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • EventListener не удаляется
    Anonymous » » в форуме Jquery
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Правильный способ использования EventListener в JS [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как добавить несколько сценариев eventListener, которые не слушают друг друга?
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как добавить несколько сценариев eventListener, которые не слушают друг друга?
    Anonymous » » в форуме Jquery
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Jquery»