Problem z poprawnym działaniem skryptu na Chrome |
Problem z poprawnym działaniem skryptu na Chrome |
4.04.2018, 17:51:23
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 0 Dołączył: 19.03.2015 Ostrzeżenie: (0%) |
Robię konwenter jednostek w oparciu o javscript i jquery i mam problem z działaniem pewnej elementarnej dla całego konceptu funkcji w przeglądarce chrome ( na edge i firefox działa bez zarzutu). Funkcja działa w ten sposób że nadpisuje pewien wybrany element html o informację którą zamieszcza w nazwie klasy elementu.
wzór funkcji
Problem polega na tym że Chrome w jednym miejscu mi tą funkcję wykonuję ( przy wyborze jednostki docelowej na którą chce zkonwertować jakąś liczbę ) ale już nie chce z nie wiadomych przyczyn tego zrobić w innym miejscu ( w którym wybiera się jednostkę pierwotną z której liczba ma być konwertowana). kod html dla wadliwej (w chrome) części oraz dla tej co działa Jak dogodzić produktowi firmy google, bo nie mam pojęcie dlaczego tak grymasi podczas gdy na innych przeglądarkach wszystko chula. Dzięki z góry za info. |
|
|
4.04.2018, 17:58:50
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Na stronie jest jeden element o id=weight?
-------------------- |
|
|
4.04.2018, 18:18:35
Post
#3
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 0 Dołączył: 19.03.2015 Ostrzeżenie: (0%) |
Tak. Gdyby było kilka wiem że jqery by się gubił, tylko że jeden div jest w samym Chrome dobrze nadpisywany, a ten drugi nie wiadomo czemu nie reaguje.
|
|
|
4.04.2018, 18:21:12
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
To wrzuć fragment HTML i JS na https://jsfiddle.net/
Przy okazji: 1. Skoro korzystasz z jQuery, to zdarzenia możesz podpinać w inny sposób. 2. Wystarczy $(curs).attr('class', zm) zamiast tych dwóch linijek. Co się sprowadza do tego, że funkcja nadpisz nie jest potrzebna. -------------------- |
|
|
5.04.2018, 18:52:37
Post
#5
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 0 Dołączył: 19.03.2015 Ostrzeżenie: (0%) |
Dzięki za pomoc w szukaniu odpowiedzi ale ją znalazłem i okazała się być banalna lecz utwierdziła mnie tylko w przekonaniu że wolę backend od frontendu . Niewiedzieć czemu problemem okazał się być dla Chroma znacznik select - zmieniłem na div o danym id i jquery prawidłowo mi go nadpisuje. Ale znacznika select za nic. "Wystarczy $(curs).attr('class', zm) zamiast tych dwóch linijek. Co się sprowadza do tego, że funkcja nadpisz nie jest potrzebna " - Nie, ponieważ jeżeli klient zmieni jednostkę miary której oznaczenie jest zapisywane w klasie to system zwariuje. Najpierw trzeba usunąć choćby prewencyjnie starą klasę a potem dodać nową ( bo i naczej w artybucie class znajdą się np "kg tona" ) |
|
|
5.04.2018, 19:33:36
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Najlepiej jakbyś <select> obsłużył zdarzeniem change, a nie click na każdą opcję.
A wiesz co robi funkcja attr('class', zm)? Ustawia klasę o wartości zmiennej zm, więc nic nie trzeba czyścić. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 23.09.2024 - 05:37 |