Hallo,
mit folgendem Ajaxscript lade ich eine Datei rein.
Das Contextmenu ist in der Index Datei und in der Datei die von dem Ajaxscript geladen wird.
In der Datei die geladen wird soll das Contextmenu ausgeführt werden.
Nur leider funktioniert das nicht******!
Wenn ich die Datei z.B. gigliste.test.test.php aufrufe dann geht es nur sobald ich es mit Ajax in die Index lade geht es nicht mehr.
Hier die gigliste.test.test.php Datei:
Und hier das Contextmenu:
Hat jemand eine Idee wie man das hinbekommen kann das nach dem reinladen das Contextmenu noch funktioniert?
Ich hoffe das ich mich jetzt nicht zu unverständlich ausgedrückt habe :/
mit folgendem Ajaxscript lade ich eine Datei rein.
Code:
var xmlhttp_gigliste;
function gigliste(url)
{
xmlhttp_gigliste=GetXmlHttpObject();
if (xmlhttp_gigliste==null)
{
alert ("Ihr Browser unterstüzt nicht dieses Script.");
return false;
}
var str;
str = './js/gigliste.test.test.php?search=';
url = str + url;
xmlhttp_gigliste.onreadystatechange=stateChanged_gigliste;
xmlhttp_gigliste.open("GET",url,true);
xmlhttp_gigliste.send(null);
document.getElementById("gigliste").innerHTML="<div style=\'width:70px; height: 70px; margin: auto; margin-top: 100px; border-radius: 60px; background: rgba(2, 1, 0, 0.9);\'><img class='loading' style='width:80px; margin-top: -5px; margin-left: -5px;' height='80px' src='./img/loadings/loading.gif' /></div>";
return false;
}
function stateChanged_gigliste()
{
if (xmlhttp_gigliste.readyState==4)
{
document.getElementById("gigliste").innerHTML=xmlhttp_gigliste.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
//ie7+, firefox, chrome, opera, safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
//ie6,ie5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return false;
}
Das Contextmenu ist in der Index Datei und in der Datei die von dem Ajaxscript geladen wird.
In der Datei die geladen wird soll das Contextmenu ausgeführt werden.
Nur leider funktioniert das nicht******!
Wenn ich die Datei z.B. gigliste.test.test.php aufrufe dann geht es nur sobald ich es mit Ajax in die Index lade geht es nicht mehr.
Hier die gigliste.test.test.php Datei:
PHP:
<?php
session_start();
/* Include */
include('../test/config.te.inc.php');
include('../test/funktionen.te.inc.php');
include('../test/run.te.inc.php');
$search = $_GET['search'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="author" content="Marlight">
<meta name="generator" content="www.marlight-music.de">
<meta name="robots" content="noindex, nofollow, noarchive">
<title>Gigliste</title>
<link rel="stylesheet" type="text/css" href="../css/gigliste.css">
<script type="text/javascript" language="javascript" src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>
<script type="text/javascript" language="javascript" src="./js/jquery.contextmenu.js"></script>
</head>
<body>
<div id="log"></div>
<table class="gigmanager" width="100%" border="0" cellpadding="0" cellspacing="0">
<tbody>
<? echo gigs($search); ?>
</tbody>
</table>
<ul class="contextmenu" id="standart">
<li data-type="open" class="folder">öffnen</li>
<li data-type="edit" class="edit">bearbeiten</li>
<li data-type="delete" class="delete">löschen</li>
</ul>
<ul class="contextmenu" id="public">
<li data-type="open" class="folder">öffnen</li>
<li data-type="edit" class="edit">bearbeiten</li>
<li data-type="public" class="public">veröffentlichen</li>
<li data-type="delete" class="delete">löschen</li>
</ul>
<ul class="contextmenu" id="gig">
<li data-type="open" class="folder">öffnen</li>
<li data-type="edit" class="edit">bearbeiten</li>
<li data-type="change" class="change">Zum Gig umwandeln</li>
<li data-type="delete" class="delete">löschen</li>
</ul>
</body>
</html>
Und hier das Contextmenu:
Code:
//<![CDATA[
$(function(){
var $current = null;
$("[contextmenu2]").on("contextmenu", function (e) {
$('.contextmenu').hide();
$current = $(this);
var contextmenu = $(this).attr("contextmenu2");
var $contextmenu = $("#" + contextmenu);
if ($contextmenu.length == 0) {
return;
}
console.log(this);
e.preventDefault();
e.stopPropagation();
$contextmenu.show();
$contextmenu.css({
"top" : e.pageY + "px",
"left" : e.pageX + "px",
"bottom" : "",
"right" : ""
});
if(e.pageY > (window.innerHeight-200)){
$contextmenu.css({
"bottom" : (window.innerHeight-e.pageY) + "px",
"top" : ""
});
}
if(e.pageX > (window.innerWidth-200)){
$contextmenu.css({
"right": (window.innerWidth-e.pageX) + "px",
"left" : ""
});
}
return false;
});
$(".contextmenu li").on("click", function () {
location.href=("?action=" + $(this).data("type") + "&id=" + $current.data("id"));
});
$("body").on("click", function () {
$(".contextmenu").hide();
});
});
//]]>
Hat jemand eine Idee wie man das hinbekommen kann das nach dem reinladen das Contextmenu noch funktioniert?
Ich hoffe das ich mich jetzt nicht zu unverständlich ausgedrückt habe :/