Avatar billede scriptkid Nybegynder
17. februar 2010 - 08:37 Der er 1 kommentar

problem med evt.ctrlKey i IE

Hej eksperter ! jeg har en funktion(er) som tjekker om en bruger single eller double klikker på et link samt om Ctrl er holdt nede. hvis jeg jeg kalder single klik funktionen som checker on Ctrl bliver holdt nede virker det fint men når jeg kalder den samme funktion fra den funktion som checker at der er tale om et double klik så fejler IE men fejlen :    ?

Det er linjen er  if (evt.ctrlKey) der fejler

her er min kode:

var TheClickEvent = null;
var MaxTimeBetweenClick = 250;
var DoubleClickTime = 0;
var TimeOfClick = 0;
var DelayAfterDoubleClick = 100;
var RunTimeOut = null;
var TheItemId = "";

function ClickCall(e, evt, n) {
 
    switch (e) {
        case "click":

            if (CheckDoubleClick())
                return false;

            d = new Date();
            TimeOfClick = d.getTime();
            TheClickEvent = e;
            TheItemId = n;
            TheEvent = evt;

            RunTimeOut = setTimeout("RunSingleClick(TheClickEvent,evt,TheItemId)", MaxTimeBetweenClick);
            break;

        case "dblclick":
            RunDoubleClick(e, n);
            break;
        default:
    }
}

function CheckDoubleClick() {

    var d = new Date();
    var now = d.getTime();

    if ((now - DoubleClickTime) < DelayAfterDoubleClick) return true;

    return false;
}

function RunSingleClick(e, evt, n) {


    if (TimeOfClick - DoubleClickTime <= 0) return false;

    var PartSplit = n.split("|");
    var NewN = "";
    for (var i = 0; i < PartSplit.length; i++) {

        if (i == 0) {
            NewN = PartSplit[i].replace(/_/g, "$") + "|";
        } else {
            NewN += PartSplit[i] + "|";
        }


    }

    if (evt.ctrlKey) {

        ManageCheck(n);
        var FolderHTML = "Selected Folders<ul>";
        var FileHTML = "Selected Files<ul>";
        var NewHTML = "";
        var SelectList = document.getElementById('ctl00_maincontent_CheckBoxList').value.split(';');
        for (var x = 0; x < SelectList.length; x++) {

            //SelectList[x] = SelectList[x].remove(0, 14);
            var ItemList = SelectList[x].split("|");


            if (ItemList[0] == "ctl00_maincontent_Folder")
                FolderHTML += "<li>" + ItemList[3] + ItemList[2] + "</li>";
            if (ItemList[0] == "ctl00_maincontent_File")
                FileHTML += "<li>" + ItemList[3] + ItemList[2] + "</li>";

            DisableFunctions();

        }

        FolderHTML += "</ul>";
        FileHTML += "</ul>";
        NewHTML += FolderHTML + FileHTML;
        document.getElementById('ctl00_maincontent_infocontent').innerHTML = NewHTML;

    } else {
        EnableFunctions();
        ClearCheck(n);
        __doPostBack(NewN, '');

    }

    document.getElementById('ctl00_maincontent_DoubleClick').value = "false";


}

function RunDoubleClick(e, n) {
    var d = new Date();
    DoubleClickTime = d.getTime();
    if (RunTimeOut != null) {
        clearTimeout(RunTimeOut);
        RunTimeOut = null;
    }
    var PartSplit = n.split("|");
    var NewN = "";
    for (var i = 0; i < PartSplit.length; i++) {

        if (i == 0) {
            NewN = PartSplit[i].replace(/_/g, "$") + "|";
        } else {
            NewN += PartSplit[i] + "|";
        }


    }

    document.getElementById('ctl00_maincontent_DoubleClick').value = "true";
    __doPostBack(NewN, '');

}
Avatar billede scriptkid Nybegynder
17. februar 2010 - 08:38 #1
Det skal siges at det virker i firefox, safari og chrome
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Udlændinge- og Integrationsministeriet

Forretningsudvikler med fokus på digitalisering og AI

Cognizant Technology Solutions Denmark ApS

Senior Delivery Manager

Metro Service A/S

Erfaren IT-supporter

SporingsGruppen ApS

Frontend-udvikler