gleich zu Anfang mein Test-Code
Es ist sicher klar, was ich damit ausgeben wollte. Ein div in einem anderen. Beiden soll eine style Klasse zugewiesen werden. Der innere Div soll bei onmousedown eine Funktion auslösen.
Leider werden weder die style Klassen zugewiesen, noch wird die Funktion gestartet.
Meine Frage, warum? Wenn ich mir den generierten Quelltext ansehe,
sieht der durchaus richtig aus. Warum funktionieren dann die Zuweisungen und der Start von der Funktion test() nicht?
Hängt das mit dem document.write() zusammen? Wie kann man das dann lösen?
Code:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<script type="text/javascript" src="admin/js/ajax.js"></script>
<script type="text/javascript" src="admin/js/all.js"></script>
<style type="text/css">
/*slider*/
.outClass {
background-color: #CCCCCC;
}
.slideClass {
position: rellative;
background-color: #333333;
float: left;
margin-top: 2px;
margin-bottom: 2px;
}
</style>
<script type="text/javascript">
function test(obj){
alert(obj.id);
}
function getSlider(outWidt, outHeight, outClass, slideClass1, slideID, slideWidth, slideHeight){
if(!slideID || slideID == ""){slideID = "tempSlide_XY"}
document.write("<div style='border: solid 1px #000000; width:" + outWidt + "px; height:" + outHeight + "px;' id='" + slideID + "' >\n");
document.write("<div id='slideSquare' style='border: solid 1px #000000; width:" + slideWidth + "px; height:" + slideHeight + "px;' ");
document.write("onmousedown='test(this);' >\n");
document.write(" </div>\n");
document.write("</div>\n");
window.document.getElementById(slideID).style.className = outClass;
window.document.getElementById('slideSquare').style.className = slideClass;
}
</script>
</head>
<body onload="getSlider(400, 20, 'outClass', 'slideClass', 'abdc_slide', 16, 16);">
</body>
</html>
Es ist sicher klar, was ich damit ausgeben wollte. Ein div in einem anderen. Beiden soll eine style Klasse zugewiesen werden. Der innere Div soll bei onmousedown eine Funktion auslösen.
Leider werden weder die style Klassen zugewiesen, noch wird die Funktion gestartet.
Meine Frage, warum? Wenn ich mir den generierten Quelltext ansehe,
Code:
<div style='border: solid 1px #000000; width:400px; height:20px;' id='abdc_slide' >
<div id='slideSquare' style='border: solid 1px #000000; width:16px; height:16px;' onmousedown='test(this);' >
</div>
</div>
Hängt das mit dem document.write() zusammen? Wie kann man das dann lösen?