At fange Klik på DOM/HTML/BODY begivenhed på iPad

Jeg bruger jQuery til at registrere et klik på DOM – eller lad os hvert klik.

$(document).click(function(){
   alert("Click :-)");
});

Det fungerer ganske godt i alle browsere undtagen Safari til iPad/iPhone. Jeg har også prøvet at anvende event på html eller krop element – på ingen måde. Hvordan til at opdage en fælles klikke på iPad/iPhone?

Bedste hilsner,
Jim

Tjek jQuery Mobile (jquerymobile.com). Det er bygget til formålet, til mobile enheder, og derfor er ting som tap og swype event detection.
Ja, det er en goooooood tip. Rager omfatter jquerymobile.js og erstatte event klik, ved at trykke på. Det er det.
Se mit svar her: stackoverflow.com/a/29897871/2338825

OriginalForfatteren Jim | 2011-06-18

7 svar

  1. 7

    Disse svar fik mig i gang på den rigtige retning (første google for “jquery dokument.på ipad”), så tak for det, men låntagning fra dette svar jeg forenklet det til noget som dette:

    $(document).on("click touchstart", function (ev) {
        ...
    });

    Dette ville naturligvis producerer uønskede resultater hvis en platform (som Android eller Windows-Telefon eller noget), der understøttes både klik og touchstart i begivenheden, boblen, så hvis nogen ved, at lade mig vide (og jeg vil lave min kode og slette dette svar! 🙂

    OriginalForfatteren mlhDev

  2. 5

    Jeg har brugt denne:

    jQuery(document).on('touchstart',function(event){
        //your code here
             });

    -også i stedet for “dokument” kan du binde sig til nogen DOM objekt.

    og det(fra et andet forum svar):

    var body = document.getElementsByTagName('body')[0];
    
     if ("ontouchstart" in window) {
    
            body.ontouchstart = function(){
       //your code here
             };     
                     };

    -igen, du behøver ikke at bruge ‘krop’, du kan tildele en variabel til et objekt af en klasse på denne måde:

    var dd = document.getElementsByClassName('infoAction')[0]; 
    Tak, virker perfekt på iOS-10, jeg bruger det til at give autoplay til lyd (som ikke arbejder ellers på iOS, da denne browser kræver touch interaktion, før du spiller nogen lyd): <script type="text/javascript">var ev = 'click'; if ('ontouchstart' in window) { ev = 'touchstart'; }; document.addEventListener(ev, function() { document.getElementById('BESTSONGEVER').play(); });</script>

    OriginalForfatteren namretiolnave

  3. 2
    $('html').click(function(){
       alert("Click :-)");
    });

    Dette virker for mig, jeg har prøvet det nu.

    Selv arbejder med noget indhold på siden, hvor du klikker på den side.

    +1 jsbin.com/ocoto5/edit virker på min ipad2
    Det virker, når den ikke er at klikke på et element.
    virker for mig selv at klikke på et element, er du sikker på, at der ikke er andre klik på handling indstillet på det element med boblende handicappede? Der ville stoppe begivenhed fra plantemateriale ved lige ned til html..?
    Til testformål, dette er den eneste javascript-kode i filen (undtagen jQuery sig selv). Jeg har bare en <h1> i dokumentet. Når du klikker på h1 den ikke virker, og når du klikker nedenfor det virker. Ved hjælp af tryk på() fra jQuery mobile virker på både, og der er ikke den mørke flimmer, der er heller ikke meget nyttige i mit tilfælde.
    mærkeligt, at dine resultater, er forskellige fra mine, gør mig bange for, at nogle af min kode ikke kan arbejde på alle iPad… som en sidebemærkning, jeg normalt ikke bruger, skal du klikke på begivenheder til touchscreen-enheder, men i stedet bruge touchstart som det udløses hurtigere (så snart finger rører) snarere end efter en forsinkelse at afgøre, hvad slags klik/stryge det er. Hvis jeg har komplekse gestik, jeg kan bruge biblioteket, er der flere gode af dem til at vælge fra.

    OriginalForfatteren Billy Moon

  4. 2

    Du kan vedhæfte klik lytter til de vigtigste wrapper-elementet (sige, div, som omfatter alle de komponenter, der er i din side).

    OriginalForfatteren gabuk

  5. 1
    <body><div onclick="void(0)">
    ... your page tags ...
    </div></body>

    Der er en mindre forskel i forhold til andre browsere adfærd: document object vil reveive klik på arrangementer kun for tags, der ligger inde i “… din side tags …” sektion.

    Med andre ord, antag, at din html og body tags har en gul baggrundsfarve, og deres barn tags har en rød baggrundsfarve.
    Document object vil modtage klikker på de røde områder. Dette er normalt ikke en alvorlig ulempe.

    Testet på en iPhone 3 kun

    OriginalForfatteren figolu

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *