Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DOMAttrModified в JQ в Опере не работает (((, DOMAttrModified в JQ в Опере не работает 
:(
    Опции темы
ViktorGr
Дата 5.12.2017, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.12.2017

Репутация: нет
Всего: нет



Есть задача
запустить функцию в JQuery из функци Javascript
для этого меняю атрибут div data-text 
потом пытаюсь перехватить событие DOMAttrModified  в JQuery

В FIREFOX работает отлично, в Опере и Хроме - никак. 


Код

<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">    
        
          <script>
          
function openPlr()
{
  
  var idEm = document.getElementById("idEm");
 idEm.setAttribute('data-text', new Date());

}
      
  </script>

<script class="include" type="text/javascript" src="jQuery_3_2_1.js"></script>
   
</head>
<body >

 <a id="btnP3" href="#"   onClick='openPlr();'   class="user" style="border: 0px solid; top: 100px; left: 120px; position: relative; z-index: 10;">             Нажать            </a>
                        
 <div id="idEm" data-text=""></div>
 
<script class= type="text/javascript">

$(document).ready(function () {

jQuery("#idEm").bind('DOMAttrModified', function () {
      
 var idEm = document.getElementById("idEm");
idEm.innerText = "  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";

    });
    
});</script>


</body></html>


 smile 

Это сообщение отредактировал(а) ViktorGr - 5.12.2017, 20:14
PM MAIL   Вверх
whatisnot
Дата 5.12.2017, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: нет
Всего: 2



А что проще нельзя сделать выбросив функцию openPlr() и нативный обработчик в ссылке, и повесить вместо него JQ обработчик щелчка, в котором все без граблей и сделать? Кстати, в JQ обработчике 'DOMAttrModified' this, это и будет искомый элемент DOM, зачем же его получать var idEm = document.getElementById("idEm")?

Если так необходимо следить за изменениями DOM (чего у вас не наблюдается), то используйте MutationObserver, так как Mutation Events (чего вы и пытаетесь) устарело.  
PM MAIL   Вверх
ViktorGr
Дата 6.12.2017, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.12.2017

Репутация: нет
Всего: нет



whatisnot, спасибо за отличный комментарий!!!


(код здесь  я упростил для примера, на самом деле там всё немного сложнее - возвращается асинхронный вызов с сервера и на него должна быть реакция, поэтому прицепить к на  cltck не получается )

а во т MutationObserver сработало отлично! Ещё раз, огромное спасибо!!! 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0903 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.