Я добавляю подсказку в div с классом .placeTaken. Затем пользователь может перетаскивать прямоугольники, поэтому я удаляю класс и вместо этого добавляю его в новый div. Когда это происходит, я добавляю новую всплывающую подсказку к этому элементу div, и она отлично работает, но я хочу удалить старую.
Они говорят, что если вы хотите удалить всплывающую подсказку, задав для атрибута title пустую строку, вместо этого установите атрибут original-title. Я попытался $("#"+dropFromId).attr("original-title", "");
, но подсказка все еще там. Я даже не могу изменить заголовок всплывающей подсказки, установив другой заголовок оригинала.
Что я делаю не так?
Редактировать: Я думаю, я не дал вам достаточно информации, ребята. Я использую ajax, чтобы получить места, которые взяты из базы данных. PHP возвращает ассоциативный массив (клиенты), который я затем использую в своем JavaScript, где занимаемое место соответствует имени. Места, которые заняли, меняются при отбрасывании, поэтому я снова выполняю функцию ajax, чтобы обновить массив со всеми занятыми местами. В кулак я добавляю подсказку ко всем занятым местам, вот так
$("#map div.placeTaken").tipsy({gravity: 'w', html: true, fade: true, title:
function(){
// id could for example be map74, substring to 74
var id = $(this).attr("id").substring(3,6);
return '<div>'+customers[id]+'</div><br />';
}
});
Таким образом, заголовок равен тому, что соответствует этому месту в массиве. Я надеюсь, что я объясняю это достаточно хорошо. Когда ящик уронили на новое место, вот что происходит
$("#map div span").bind( "dragstop", function(event, ui) {
// some code here to change the .placeTaken class
// update database with the new place
$.ajax({
type: "POST",
url: "map.php",
data: "dropFromId="+ dropFromId.substring(3,6) +"& dropToId="+ dropToId.substring(3,6),
success: function(){
// ajax function to update the js array with new places
customerTooltip();
}
});
// on this place, add tooltip
$("#"+dropToId).tipsy({gravity: 'w', html: true, fade: true, title:
// funktion för att avgöra vilken title som ska användas
function(){
var id = dropToId.substring(3,6);
return '<div>'+customers[id]+'</div><br />';
}
});
}
});
Это все работает нормально, поэтому я подумал, что я бы просто изменил заголовок dropFromId на "" в раскрывающемся списке, чтобы удалить его.