Mam this kod html poniżej.Zdarzenie onclick wyłączone <td> działa tylko po kliknięciu tekstu, ale nie po kliknięciu innego obszaru w td (tj. 10, czyli wydanie 11).
<table border="1" style="width:100%">
<tr> <th>Col</th></tr>
<tr><td onclick="alert('1');" disabled="disabled"><label>One<br></label></td></tr>
<tr><td onclick="alert('2');" disabled="disabled"><label>Two<br></label></td></tr>
<tr><td onclick="alert('3');" disabled="disabled"><label><br></label></td></tr>
</table>
Powyższy kod działa w Chrome i Microsoft Edge Oznacza to pokazuje alert na kliknięcie w dowolnym miejscu wewnątrz znacznika td we wszystkich 3 TDS.
Ale w IE10, IE11 działa tylko wtedy, gdy td zawiera pewne dane, tak jak w powyższym kodzie 3. wiersz nie daje ostrzeżenia, a dla innych tds działa tylko wtedy, gdy klikamy na tekst, a nie klikamy w inny obszar wewnątrz td inny niż tekst.
Ten kod jest częścią mojej dużej aplikacji. Po prostu chcę wiedzieć, to jest znany błąd w IE, jeśli tak, to może ktoś mi podać link tego błędu.
A może brakuje mi czegoś w kodzie, który powoduje problem. Ponieważ jest to część dużej aplikacji, chcę dodać mniej kodu, aby nie wpłynęło to na resztę aplikacji.
Każda pomoc będzie mile widziane
Twoje wykorzystanie starego wzoru projektu .... Co próbujesz osiągnąć? Sortable columns in a table? Zamiast tego użyj przycisku lub. Tabele i komórki są elementami prezentacji. Przycisk a i to elementy akcji. powinieneś powiązać z nimi zdarzenia akcji. –
Nie wspominasz o tym, co można zmienić, a co nie w kodzie. IE ma sens: wyłączyłeś td, więc nie zarejestrowano żadnych akcji myszy. Po usunięciu wyłączonego atrybutu kliknięcie działa również w IE dla całego td. Kiedy to można zmienić w html (zastanawiam się z powodu wyłączenia), oczywiście można to zrobić w JavaScript po załadowaniu strony. I bądź dobrym chłopcem i dodaj tam także obsługę zdarzeń ;-) – msoft
Proszę podać kilka informacji na swoje pytanie dotyczące tego, co możesz * zrobić *. Wspomniałeś w swoim drugim komentarzu, że nie możesz usunąć osoby niepełnosprawnej. Czy jest to wymagane przez inny kod, czy też można go usunąć po załadowaniu strony przez JavaScript. Jeśli tak, czy możesz dodać identyfikator lub klasę do tej tabeli, aby JavaScript mógł ją znaleźć? I chyba nie ma jQuery, ponieważ jest to stary kod. – msoft