В общем, есть вот такое:
<script>
var tArt = false;
var tName = false;
var id=0;
function editArt(element,id){
if(tArt == false){
t = element;
artist = t.innerHTML;
t.innerHTML = '<input name="test" value="'+artist+'" />'; tArt = true;
t.lastChild.onmousedown = function(event){
event.stopPropagation();
}
t.onmousedown=function(){
send(this.lastChild, id);
};
}
}
function send(element, id){
$.ajax({
type: "POST",
url: "/admin/api/artist/",
data: "id="+id+ "&artist=" + element.value,
success: function(msg){
if(msg == "")
{
element.parentNode.innerHTML = element.value;
}
else
{
element.parentNode.innerHTML = element.value;
t.onmousedown=function(){
};
}
}
});
}
</script>
<table cellspacing="1">
<tr class="row1">
<td><input type="checkbox" name="check[34]" /></td>
<td>34</td>
<td ondblclick="editArt(this,34)" id="art34">Artist</td>
<td ondblclick="editName(34)" id="name34">trackName</td>
...
</tr>
</table>
Первый раз все нормально - кликаем два раза по ячейке, содержимое меняется на input, кликаем вне input'a - меняется на строку, записанную в input'e..
Но вот второй раз уже ondblclick работать не хочет, при двойном клике по тексту ничего не происходит %) Как поправить?