Jscript работает для меня, но не для другого пользователя

#jquery #asp.net-web-api #jscript

#jquery #asp.net-web-api #jscript

Вопрос:

У нас есть стороннее приложение, которое запускает некоторые события при нажатии текстового поля. Нам не нужны эти события, и поэтому я добавил следующее непосредственно перед закрывающим тегом body — чтобы удалить событие onkeypress.

Я чешу голову, потому что он отлично работает, когда я открываю веб-страницу на своем рабочем столе. Но когда другой пользователь открывает страницу, событие onkeypress все еще запускается. Я не понимаю, почему и как это остановить?

Я добавил оповещение, чтобы узнать, действительно ли скрипт запущен на их стороне, и они получают оповещение. Итак, я озадачен. Есть предложения?

      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">

    $(window).on('load', function () {

        document.getElementById("TheControl_ToTextBox").removeAttribute("onkeypress");
        document.getElementById("TheControl_CcTextBox").removeAttribute("onkeypress");

        alert("Test Page Load: Ingore This Message");

    });

</script>


</body>

</html>
  

Редактировать ________________________________

Я добавляю HTML-код, который сгенерирован для одного из текстовых полей для справки

 <span class="ComposeHeaderValue">
                <input name="TheControl$ToTextBox" type="text" readonly="readonly" id="TheControl_ToTextBox" tabindex="1" onkeypress="return TheControl.RY(this, event);" />
            </span>
  

Редактировать ________________________________________

Кроме того, я добавил предупреждение, чтобы указать идентификатор элемента двух текстовых полей. Это успешно работает для всех. Итак, по крайней мере, я знаю, что идентификатор элемента правильный.

Я также загрузил и установил последнюю версию jquery и сослался на локальную версию. Все еще работает при запуске браузера на моем рабочем столе . . и все еще не работает при запуске браузера с любого другого настольного ПК.

  <script src="Utils/jquery-3.4.0.js"></script>
  

У меня совершенно нет идей . . .

Комментарии:

1. Логика удалит только прослушиватели событий, прикрепленные к встроенной привязке. Не те, которые добавлены с помощью jQuery или с addEventListener методом

2. @taplar — Понял. Есть ли шанс, что вы можете помочь мне понять, почему это на самом деле работает у меня? Когда я запускаю страницу с сервера (не локального), она работает отлично. Onkeypress удален. Когда кто-то другой загружает ту же страницу с того же сервера (не локального) . . . происходит сбой. Я думаю, что для меня это загадка. . Почему это работает, когда я загружаю страницу с сервера на свой рабочий стол?

3. Что вы подразумеваете под «на моем рабочем столе»? Вы оба используете браузер, нет? Я думаю, меня смущает необходимость в этой детали.

4. @taplar — правильно, мы оба используем браузер. Мы оба используем IE 11.09. Когда я запускаю страницу (в браузере IE) со своего рабочего стола, события onkeypress были удалены, как и требовалось. Когда мой коллега запускает ту же страницу (в браузере IE) со своего рабочего стола . . события onkeypress все еще запускаются, чего мы не хотим. Однако появляется предупреждающее сообщение.

5. Вы пробовали проверять элементы в окне, с которыми он не работает? Может возникнуть какая-то проблема с синхронизацией. Создаются ли эти элементы динамически?