function changeScreenFromOptions() {
if (screen == 1) {
$('#screen').empty();
$('#screen').append("<br><br>");
$('#screen').append("<label for='file' class='textStyle'>Filename (hint:Write The Fullpath of The File):</label>");
$('#screen').append("<input type='text' name='file' id='upload'><br>");
$('#screen').append("<input type='submit' id='SubmitFile' class='textStyle' value='Submit'>");
$('#SubmitFile').click(function() {
SheetPath = document.getElementById('upload').value;
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
$('#screen').empty();
$('.listContainer').empty();
var groupData = xmlhttp.responseText;
var res = eval("(" + groupData + ")");
WorksheetListSize = res.length;
//alert(WorksheetListSize);
for (var i = 0; i < WorksheetListSize; i++) {
$('#screen').append("<div id='worksheet" + i + "' class='worksheet'>" + res[i] + "</div>");
$('.listContainer').append("<div id='worksheet" + i + "' class='listComponent'>" + res[i] + "</div>");
}
$(document).ready(function() {
$('.listComponent').click(function() {
alert("here");
});
});
}
}
xmlhttp.open("GET", "getWorkSheets.php?pather=" + SheetPath, true);
xmlhttp.send();
});
} else {
$('#screen').empty();
$('#screen').append("<p class='Optionfontstyle'>Under Construction</p>");
}
}
Это мой код JavaScript об изменении экрана в соответствии с конкретным инструментом выделения. Проблема заключается в том, что когда я пытаюсь сделать событие click для класса (ListComponent), оно не отвечает мне, я начинаю в JQuery и JS, я думаю, что это проблема с областью, но я не могу понять это !!
попробуйте сделать код ниже. Изъявите из документа код и вытащите $ ('. listComponent'). Нажмите (function() код из события отправки клика, потому что оба события клика различаются и будут вызываться, когда будет нажата соответствующая кнопка
function changeScreenFromOptions() {
if (screen == 1) {
$('#screen').empty();
$('#screen').append("<br><br>");
$('#screen').append("<label for='file' class='textStyle'>Filename (hint:Write The Fullpath of The File):</label>");
$('#screen').append("<input type='text' name='file' id='upload'><br>");
$('#screen').append("<input type='submit' id='SubmitFile' class='textStyle' value='Submit'>");
$('#SubmitFile').click(function() {
SheetPath = document.getElementById('upload').value;
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
$('#screen').empty();
$('.listContainer').empty();
var groupData = xmlhttp.responseText;
var res = eval("(" + groupData + ")");
WorksheetListSize = res.length;
//alert(WorksheetListSize);
for (var i = 0; i < WorksheetListSize; i++) {
$('#screen').append("<div id='worksheet" + i + "' class='worksheet'>" + res[i] + "</div>");
$('.listContainer').append("<div id='worksheet" + i + "' class='listComponent'>" + res[i] + "</div>");
}
}
}
xmlhttp.open("GET", "getWorkSheets.php?pather=" + SheetPath, true);
xmlhttp.send();
});
$('.listComponent').click(function() {
alert("here");
});
} else {
$('#screen').empty();
$('#screen').append("<p class='Optionfontstyle'>Under Construction</p>");
}
}
$(document).ready
который срабатывает только один раз, когда ваш DOM готов.$('#screen').empty().append("<br><br>")...