Наложение div "edit image" на элемент div, td - PullRequest
1 голос
/ 26 мая 2009

У меня есть элемент div или элемент td в таблице, которые можно редактировать, т. Е. Вы щелкаете элемент, и всплывающее окно позволяет редактировать текст. Я хотел бы иметь возможность добавить «редактировать изображение» в верхнем левом углу редактируемого элемента. На данный момент все, что у меня есть, это когда вы перемещаете элемент, фон меняется на желтый для обозначения. Хотелось бы, чтобы изображение всплыло, что лучше. Пробовал использовать абсолютный div, но не уверен, что у меня правильные настройки стиля, так как он не работает правильно.

<td>
   <div style="position:absolute; display:inline"><img src="/edit.png"/></div>
   <p>This would be the normal text that is editable</p>
</td>

Я бы добавил div, используя jQuery для ролловера с предындией.

Ответы [ 2 ]

3 голосов
/ 26 мая 2009

Поместите ваше 'edit image' после контента, чтобы оно отображалось над фактическим контентом (элементы, которые появляются позже в источнике, имеют более высокий z-индекс:

HTML

<td>
   <div class="editable">
      <p>This would be the normal text that is editable</p>
      <img class="editimg" src="/edit.png"/>
   </div>
</td>

CSS

div.editable {
   width:100%;
   position:relative; /* this allows the img to be positioned relative to the div */
}
div.editable img.editimg {
   position:absolute;
   top:5px;
   right:5px;
}
1 голос
/ 26 мая 2009

Поскольку вы уже используете jQuery, это может быть то, что вы ищете:

$(function(){
    $("td p").hover(function(){
      $(this).prepend("<img src='/edit.png' />");
    },function(){
      $(this).find("img:first").remove();
    });
});

Это предполагает, что каждый TD с буквой P является редактируемым. Тем не менее, вы можете добавить класс для повышения производительности селектора и использовать что-то вроде $("td.editable p")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...