хорошо, я понял, что я действительно пропустил что-то очень фундаментальное !!!
Элементы DOM в информационном окне не существуют в тот момент, когда я загружаю карту.
Они создаются динамически в моем приложении. Поэтому я не могу получить к ним доступ в $ (document) .ready (function () {etc ...
Я должен написать событие onclick непосредственно в html-коде информационного окна и написать отдельную функцию onclick
для кнопки изменения.
Вот модифицированный код:
//add Pois to the map
$("#map").gmap3({
action:'addMarkers',
markers:myMarkers,
marker:{
options:{
draggable: false
},
events:{
click: function(marker, event, data){
var map = $(this).gmap3('get'),
infowindow = $(this).gmap3({action:'get', name:'infowindow'});
var infoWinChange =
"<form id='changeForm'>"+
"<table>"+
"<tr>"+
"<th id='poiId' style='display:none'>"+ data.poiId +"</th>"+
"<th>Titel:</th><th><div id='titleChange'>"+ data.title +"</div></th>"+
"</tr>"+
"<tr>"+
"<td>Geschichte:</td><td><div id='storyChange'>"+ data.story +"</div><td>"+
"</tr>"+
"<tr>"+
"<td>Bildbeschreibung:</td><td><div id='descriptionChange'>"+ data.description +"</div><td>"+
"</tr>"+
"<tr>"+ data.previewImg +"</tr>"+
"<tr>"+
"<td><div id='buttonChange' onclick='clickChange()'>Geschichte ändern</div></td>"+
"</tr>"+
"</table>"+
"</form>";
if (infowindow){
infowindow.open(map, marker);
infowindow.setContent(
infoWinChange
);
} else {
$(this).gmap3({action:'addinfowindow', anchor:marker, options:{content:
infoWinChange
}});
}
}
}
}
});
и функция отдельного щелчка
function clickChange(){
// alert("Handler for .click() called.");
if ($("#buttonChange").text()=="Geschichte ändern") {
$("#buttonChange").text("Geschichte speichern");
$("#changeForm").get(0).contentEditable = "true";
$("#titleChange").get(0).contentEditable = "true";
$("#storyChange").get(0).contentEditable = "true";
$("#descriptionChange").get(0).contentEditable = "true";
// Weitere Befehle, wenn Button aktiv
} else {
$("#buttonChange").text("Geschichte ändern");
$("#changeForm").get(0).contentEditable = "false";
$("#titleChange").get(0).contentEditable = "false";
$("#storyChange").get(0).contentEditable = "false";
$("#descriptionChange").get(0).contentEditable = "false";
// Weitere Befehle, wenn Button inaktiv
}
}
Надеюсь, это поможет кому-то еще; -)))
Дядя Хо