Rozszerzenie obserwatorów zdarzeń DOM o atrybuty, właściwości i stylu
English - Español - Polski - Pусский - 中文
- Co to jest?
- Instalacja
- Jak tego użyć:
- Przykład
- Debugowanie
- Jak wnieść wkład
- License
Dzięki temu można używać obserwatorów zdarzeń w taki sam sposób, jak standardowe obserwatorów zdarzeń. Obserwować ze wszystkiego, co dzieje się w DOM. zmian html, zmian stylu, a nawet od zmiany wartości wejścia.
Można to zainstalować za pomocą:
API może mieć znacznik HTML Script w strony u góry lub u dołu. Wszystkie funkcje są ładowane automatycznie po załadowaniu pliku. Uwaga: dołącz ten API przed jakimkolwiek innym javascript do prawidłowej implementacji
<script src="/(node_modules|bower_modules)/pikantny/pikantny.min.js"></script>
Aby rozpocząć używanie standardowe obserwatorów zdarzeń metody
var node = document.querySelector('selector')
node.addEventListener('innerHTML', console.log);
$('selector').on('innerHTML', console.log);
Obserwatorów zdarzeń propery są dwa różne typy detektorów, detektor aktualizacji pre DOM i detektor aktualizacji postu. Przez dodanie "update" na końcu dowolnego detektora, twoje zdarzenie uruchomi aktualizację DOM po aktualizacji.
node.addEventListener('innerHTMLupdate', console.log);
Atrybuty obserwatorów zdarzeń można dodawać w celu wykrycia wszelkich zmian w dowolnych atrybutach
node.addEventListener('id', console.log);
node.setAttribute('id','your-id');
// lub
node.id = 'your-id';
Właściwości elementu pozwalają również obserwować wszelkie zmiany
node.addEventListener('textContent', console.log);
node.textContent = 'new-text';
Dowolne metody elementów pozwalają na obserwację ich przemiany
node.addEventListener('appendChild', console.log);
node.appendChild(input);
CSS w obiekty stylów lub atrybuty stylów pozwalają na obserwację ich przemiany. Każdy odpowiedni detektor uruchomi się, jeśli w atrybucie stylu zostanie ustawionych wiele elementów
node.addEventListener('color', console.log);
node.style.color = '#000';
// or
node.setAttribute('style','color:#000;');
Zmiany wartości wejściowych pozwalają również na obserwowanie wszelkich zmian i są kompatybilne z IME
input.addEventListener('value', console.log);
Obiekt zdarzenia, który jest przekazywany do każdego z tych uruchomionych zdarzeń, pozwala na podobną funkcjonalność, jak standardowa funkcja obserwania zdarzeń DOM
Po wywołaniu z zdarzenia poprzedzającego aktualizację DOM można użyć tej metody, aby zapobiec aktualizacji DOM
// innerHTML, textContent, appendChild, etc
node.addEventListener('html', function(e){ e.preventDefault(); });
// input
input.addEventListener('value', function(e){ e.preventDefault(); });
Po wywołaniu ze zdarzenia aktualizacji poprzedzającego DOM ta metoda może być użyta do zatrzymania działania aktualizacji po aktualizacjach DOM
node.addEventListener('innerHTML', function(e){ e.stop(); });
// to nie będzie działać
node.addEventListener('innerHTMLupdate', console.log);
Kiedy zostanie wywołany bez bąbelków obserwaty po tym, jak zostanie uruchomiony
Po wywołaniu bez obserwować po uruchomieniu aktualnego, w tym aktualizacji DOM
Ta właściwość pokazuje zwracaną wartość wykonanej funkcji, gdy spojrzymy na nią w wydaniu aktualizacji DOM
Pokazuje ustawioną wartość
Poprzednia wartość ustawianego przedmiotu
Wszystkie pozostałe właściwości zdarzeń są zgodne z tymi samymi wytycznymi, co standardowy obiekt zdarzenia
Nie pozwól, aby element zawierał jakiekolwiek zmiany html
var node = document.querySelector('selector');
node.addEventListener('html',function(e){e.preventDefault();});
Sprawdź poprawność danych wejściowych, aby sprawdzić, czy dana wartość jest dozwolona.
Możesz użyć return false;
lub event.preventDefault();
aby zatrzymać aktualizację danych wejściowych
var input = document.querySelector('selector');
input.addEventListener('value',function(e){ return /^[0-9A-Za-z]+$/.test(e.value); });
Ten api obsługuje panel zdarzeń konsoli aplikacji, wszystkie dodane wydarzenia pojawią się w tym panelu.
Jeśli chcesz wnieść swój wkład, wykonaj te kroki
- Repozytorium klonów: Pikantny Github Repo
- Zainstaluj zależności npm
- Zbuduj projekt
npm run build
- Przetestuj swoje zmiany, niczego nie zepsuj
npm test
- Make a pull request on github for your changes :)
Tutaj możesz zobaczyć licencję: Licencja