Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Ламерские вопросы » Вставка цитат из новости в комментарий.

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


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

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

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

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


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

FastFud
Юзер

FastFud - 2 сентября 2014 09:10 -

<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 - 2 сентября 2014 17:12 -

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

FastFud
Юзер

FastFud - 2 сентября 2014 19:23 -

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 - 2 сентября 2014 19:39 -

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

Habrahabr
Юзер

Habrahabr - 3 сентября 2014 05:27 -

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

FastFud
Юзер

FastFud - 3 сентября 2014 13:37 -

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

Habrahabr
Юзер

Habrahabr - 3 сентября 2014 14:26 -


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

FastFud
Юзер

FastFud - 4 сентября 2014 16:47 -

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

FastFud
Юзер

FastFud - 3 сентября 2014 13:58 -


Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх