Интересно, возникла ли у вас проблема мерцания из-за разницы в родительской высоте div, когда вы наводите курсор на ребенка? Я не вижу ваш CSS, поэтому не могу сказать наверняка. Один из способов избежать этой проблемы - изменить ее видимость. Использование display:none
скроет элемент, чтобы он не занимал его оригинальное пространство. Использование visibility:hidden
скрывает содержимое, но оставляет оригинальное пространство объекта ... Я собрал пример кода, используя ненавязчивый jQuery и диалоговое окно подтверждения.
Примечания
- Идентификатор строки для удаления содержится в атрибуте
name
родительского класса.
- У родительского div есть имя класса
deleteme
, так как идентификаторы должны быть уникальными.
- Если ссылка Удалить занимает слишком много места, вы можете заменить дочерний элемент
div
на span
, чтобы он оставался встроенным.
HTML
<div class="deleteme" name="cid001">
Hover over me #1 (comment id=cid001)
<div> [X] Delete?</div>
</div>
<div class="deleteme" name="cid002">
Hover over me #2 (comment id=cid002)
<div> [X] Delete?</div>
</div>
Сценарий
$(document).ready(function(){
$('.deleteme').hover(function(){
$(this).find('div').css('visibility','visible')
},function(){
$(this).find('div').css('visibility','hidden');
});
$('.deleteme div')
.css('visibility','hidden')
.click(function(){
// Confirmation
if (confirm("Are you sure?")){
alert( "delete row with ID = " + $(this).parent().attr('name') ); // the name contains the comment ID to delete
}
})
})