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, '');
}