• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

iOS Longtap reinterpretieren und eigenes Kontextmenü zeigen

Aleeexx

New member
Hi!

Habe meine Frage vor einer Woche schon mal bei Stackoverflow: Reinterpret longtap on ios to bind custom contextmenu gestellt - allerdings leider ohne Reaktionen.

Folgendes ist mein Problem, bei dem ich nicht weiter komme. Ich baue mir derzeit einen "eigenen Filehoster" (DropIt - Store your data.). Bei Rechtsklick auf eine Datei erscheint mein Custom Kontextmenü.
Unbenannt.PNG

Auf einem auf Android basierendem Smartphone sollte das ja auch schon so via Longtap funktionieren. Da allerdings ich nur ein iPhone und ein iPad besitze, möchte ich gerne, dass ich dieses Kontextmenü ohne irgendwelche extra Buttons öffnen kann. Sprich ebenfalls per Longtap.
jQuery ist vorhanden.
Das PlugIn jQuery Longtap, welches HIER erwähnt wird, funktioniert bei mir leider nicht.

Sollten weitere Informationen zum beantworten dieser Frage benötigt werden, liefere ich diese natürlich gerne noch nach. :)
Ich hoffe es kann mir jemand weiterhelfen, es wäre zu schön, wenn es denn dann endlich klappen würde!

Lieben Gruß
Alex
 
Hmm... Ich kenne das Plugin jetzt nicht, aber was heißt denn "funktioniert nicht" bei dir? Kommen Fehlermeldungen? Macht er irgendwas oder macht er garnichts?

Vllt. zeigst du uns auch mal die entsprechende Codestelle(n) bzw. verlinkst sie aus Github. :)


BTW: Die Idee ist super... Darf ich mal fragen, wieso du/ihr nichts fertiges genommen habt?
 
Danke für die Antwort! :)

Alles zum Kontextmenü spielt sich in dieser Javascript Datei ab:
PHP:
/* Right-Click Event überschreiben */
$('.found-element').bind("contextmenu", function(e) {
    var element = $(this);
    
    //Evt altes Menü entfernen
    $('body').find('#click-menu').remove();

    //Get Element Attribute
    var elementAttrs = [$(this).find('.element-icon').find(' img[alt="Filetype"]').attr('src'), $(this).find('.element-data').find('.element-title').html(), $(this).find('.element-data').find('.element-size').html()]


    //Neues Menü einfügen
    $('body').append("<div id='click-menu'></div>");

    $('#click-menu').append("<div class='click-menu-label'>"+ elementAttrs[1] +"</div>");
    $('#click-menu').append("<a href='#'><div class='click-menu-button details'><i class='fa fa-search fa-fw'></i> Details</div></a>");
    $('#click-menu').append("<a href='#'><div class='click-menu-button update'><i class='fa fa-cog fa-fw'></i> Bearbeiten</div></a>");
    $('#click-menu').append("<a href='#'><div class='click-menu-button rename'><i class='fa fa-pencil-square-o fa-fw'></i> Umbenennen</div></a>");
    $('#click-menu').append("<a href='#'><div class='click-menu-button delete'><i class='fa fa-times fa-fw'></i> Löschen</div></a>");
    
    $('#click-menu').css({
        top: e.pageY+'px',
        left: e.pageX+'px'
    }).show();

    //Details ANZEIGEN
    $('.details').click(function (){
       //Modal anzeigen
    });

    //DATEI LÖSCHEN
    $('.delete').click(function (){
        //Modal anzeigen
    });

    // DATEI UMBENENNEN
    $('.rename').click(function (){
        //Modal anzeigen
    });

    return false;
});

//Wird ausgeführt sobald das document fertig geladen ist
$( document ).ready(function() {
    $(document).click(function() {
        //Lässt das Menü wieder verschienden wenn irgendwo hingeklickt wird
        $('body').find('#click-menu').remove();
    });
});
Grobe Erklärung: An Kontextmenü-Erstellung (fired bei Rechtsklick auf gefundenes Element -> Datei) wird unsere eigene Funktion gebunden, die mein eigenes Kontextmenü ausgibt.


Das PlugIn gab Folgenden Fehler zurück:
Uncaught TypeError: Cannot read property 'apply' of undefined
Habe dann noch kurz recherchiert, aber das war mir dann zu blöd. Es muss doch auch noch irgendwie einfacher gehen :)


Wir haben nichts fertiges genommen, weil dann ja der Spaß weg wäre. Hatten Lust ein Projekt zusammen zu starten und wollten dann da aber auch alles selbst machen. :)
 
Zuletzt bearbeitet:
Zurück
Oben