Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Ламерские вопросы » Вставка цитат из новости в комментарий.

Вставка цитат из новости в комментарий.


     Все вопросы » Ламерские вопросы    2720

вопрос
Вопрос: можно ли сделать кнопку "цитата", только для статей?

Такую же кнопку "цитата", как есть уже для комментариев. Было бы удобно, просто выделить текст в новости и просто нажать кнопку "цитата" и она сама добавится в поле написания комментария.

Ответа пока нет


9 комментариев

FastFud
Юзер

FastFud - -

<div class="text">Текст который при выделении будет добавляться в поле с #comments (форма комментариев)</div>
if(!window.quote){
  quote = {};
}

quote.Selector = {};
quote.Selector.getSelected = function(){
  var t = '';
  if(window.getSelection){
    t = window.getSelection();
  }else if(document.getSelection){
    t = document.getSelection();
  }else if(document.selection){
    t = document.selection.createRange().text;
  }
  return t;
}

quote.Selector.mouseup = function(){
  var st = quote.Selector.getSelected();
  if(st!=''){
    $('#comments').html('[quote]'+st+'[/quote]');
  } else {
    $('#comments').html('');
  }
}
$(function(){
  $('.text').bind("mouseup", quote.Selector.mouseup);
});

Habrahabr
Юзер

Habrahabr - -

Великолепно. А не могли бы вы также подсказать, как сделать так, что бы после выделенного текста всплывала кнопка "Цитировать"?

FastFud
Юзер

FastFud - -

if(!window.quote){
  quote = {};
}

quote.Selector = {};
quote.Selector.getSelected = function(){
  var t = '';
  if(window.getSelection){
    t = window.getSelection();
  }else if(document.getSelection){
    t = document.getSelection();
  }else if(document.selection){
    t = document.selection.createRange().text;
  }
  return t;
}
quote.Selector.mouseup = function(){
  var st = quote.Selector.getSelected();
  if(st!=''){    
  $('.dialog').find('p').html(''+st).parents().fadeIn('slow');
    $('.dialog').find('.quote').click(function(){
      $('.dialog').fadeOut();
      $('#comments').html('[quote]'+st+'[/quote]');
    });
  } else {
    $('#comments').html('');
  }
}
$(function(){
  $('.text').bind("mouseup", quote.Selector.mouseup);
});
перед </body> поставить
<div class="dialog"><p></p><button class="quote">Цитировать</button></div>
в css
.dialog {max-width:400px;max-height:400px;padding:10px;background:#fff;border:4px solid #444;border-radius: 4px;-webkit-border-radius: 4px;-moz-border-radius: 4px;margin:15px;display: none;}
стили окна и кнопки на вкус уже, сделаете сами.

FastFud
Юзер

FastFud - -

ОБНОВЛЕНИЕ: перед </body> поставить
<div class="dialog"><p></p><button class="quote">Цитировать</button><span class="close">X</span></div>
css - те же стили. Сам скрипт:

Habrahabr
Юзер

Habrahabr - -

После нажатия на всплывающее "Цитировать", в поле ввода комментария ничего не попадает.

FastFud
Юзер

FastFud - -

<div class="text">Текст который при выделении будет добавляться в поле с #comments (форма комментариев)</div>
замените класс .text из скрипта на ваш.

Habrahabr
Юзер

Habrahabr - -


Класс такой же. Более того, с самым первым кодом, после выделения, прокруткой к комментарию и нажатие кнопки "цитировать" текст из статьи вставлялся и всё было нормально. На данный момент, все работает, кнопка всплывает, но после нажатия на кнопку "цитировать" текст в поле написания комментария не вставляется. Вы уверены, что предоставленный вариант рабочий?

FastFud
Юзер

FastFud - -

Пример Если у вас не получается, пишите в skype: maximus5999, посмотрим в чем дело.

FastFud
Юзер

Похожие вопросы

наверх