Wie implementiert man Onclick in JavaScript und HTML für Geräte mit niedrigeren Versionen von Android?


Answers

Sie können nicht alle Ereignisse auf der Seite verwenden.

wenn Sie mousedown, mouseup, click, touchstart usw. anhängen, gibt es viele Kombinationen.
Ich schlage vor: - Gerät / Browser-Detektor zu implementieren - dann für mobile Touch- und für Desktop-Klick-Ereignisse anhängen

  • Sie können Kombination verwenden, aber alle klicken und nur eine Touch-Variante oder alle Touch-und ein klassisches Desktop-Event.

Beste Kombination: onClick und nur einen Mausklick oder Mouse-Up. Dann implementieren Sie ein Touch-Event, wenn Sie ein Problem mit einer Funktion haben.

Sie können auch einfachen Code wie folgt setzen:

<div onClick="CALL();" ontouchstart="CALL();" >

Sie können mein Browser- / Geräteskript bei dieser Antwort finden: Ähnliche Frage-Antwort

Question

Ich arbeite an einem Projekt, das perfekt in Geräten mit höherer Version funktioniert - ich habe es in Version 4.1.2 überprüft.

Das Problem ist, dass es in Geräten mit Android-Version 2.2.1 und 2.3.5 nicht funktioniert.

Ich habe sechs Bilder, denen ich Funktionalitäten hinzugefügt habe. Die Funktionalität für 2 Bilder besteht darin, eine andere HTML-Seite mit dem ID-Wert aufzurufen. Die Funktionalität für die anderen vier Bilder ist ebenfalls identisch, ABER die Bilder werden basierend auf dem Datenbankwert angezeigt.

Die Funktionalität für 2 Bilder besteht darin, eine andere HTML-Seite mit dem ID-Wert aufzurufen.

So habe ich codiert ..

<div id="header " class="header ">
     <div id="header_title" class="header_title"> </div>
     <div id="abc" class="abc"><img src="img/abc.png" onClick="abc()"/></div>
-----so -on

Ich habe die abc-Funktion als deklariert

function abc(){
   window.location.href="index.html";
}

Die Funktionalität für die anderen vier Bilder ist ebenfalls identisch, ABER die Bilder werden basierend auf dem Datenbankwert angezeigt.

if(value_in_db==0) {
  document.getElementById("xyz").innerHTML = '<img src="img/inactive.png" />'
} else {
  document.getElementById("xyz").innerHTML = '<img src="img/active.png" onclick="xyz()"/> '
}

Ich habe die xyz-Funktion als deklariert

function xyz(){
   window.location.href="basic.html";
}

Problemstellung:

In Android 2.2.1 und 2.3.5 funktioniert die Onclick-Funktionalität hin und wieder. Wenn Sie weiter versuchen zu klicken, wird die Funktion aufgerufen. Ich habe versucht, diesen Fehler für fast 2 Tage zu beheben.

Ich hatte ein ähnliches Problem mit der CSS-Position: behoben. Dies wurde in den niedrigeren Versionen von Android nicht unterstützt. Ich wurde hier mit einer Lösung vorgeschlagen.

Ich habe versucht, mit dieser addEventListener Funktion hat es nicht für mich funktioniert .

Ich hoffe ich bekomme eine Lösung für dieses Problem zu.

Bitte hilf mir das zu beheben und führe mich!

EDIT: 1 touchevent und deviceready

document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener( "touchstart", function(e){ onStart(e); }, false );
function onStart ( touchEvent ) 
{
   if( navigator.userAgent.match(/Android/i) ) 
   {
        touchEvent.preventDefault();
   }
}

Dies funktioniert in der höheren Version aber nicht in der unteren Endversion. Ich weiß, dass es grundlos ist, 2 document.addEventListener zu erwähnen document.addEventListener da es in den höheren Versionen funktioniert hat.