второй раз предлагаю ))
Форум → Сообщество → Наш форум → Цитирование выделенного текста
Цитирование выделенного текста
Страницы: ← Предыдущая страница • Следующая страница →
-
-
21 февраля 2015 г. 17:49, спустя 3 часа 2 минуты 38 секунд
Так кто предлагает, тот и делает, правила пыхи. Напиши на жс скрипт, я его подключу, не вопрос
https://smappi.org/ - платформа по созданию API на все случаи жизни -
21 февраля 2015 г. 18:01, спустя 11 минут 54 секунды
@kostyl, up)
https://smappi.org/ - платформа по созданию API на все случаи жизни -
22 февраля 2015 г. 0:54, спустя 6 часов 52 минуты 56 секунд
Кароче, я не шарю в жабаскрипте и у вас же бля на сервере обработка идет, поэтому я не стал делать всё )). Вот замени клик на эту хрень:
$('li.post > div > div > p > span > a.quote').click(function() {
function getSelection() {
var text = "", element = null;
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var node = sel.getRangeAt(0).commonAncestorContainer;
element = node.nodeType == 1 ? node : node.parentNode;
text = sel.toString();
}
} else if (typeof document.selection != "undefined" &&
document.selection.type != "Control") {
var textRange = document.selection.createRange();
element = textRange.parentElement();
text = textRange.text;
}
return {
isValid: (element != null && text != ""),
selectedText: text,
containerElement: element
};
}
var post_msgID = $(this).parent().parent().parent().parent().parent().find('a:first').attr('name');
var post_date = $(this).parent().siblings('a').html();
var user_login = $(this).parent().parent().parent().parent().find('div:first > p > a').html();
var formatter = $('#switcher option:selected').val() || 'bbcode';
var editorIsUsingBBCode = ($('#switcher').length && formatter == 'bbcode');
var selection = getSelection();
if (selection.isValid) {
if ($(this).parents('li.post').has(selection.containerElement).length) {
$('#id_message').focus();
var selectedText = selection.selectedText;
var text = $('#id_message').val().length > 0 ? "\n" : "";
if (editorIsUsingBBCode) {
text += '[' + 'quote' + ']' + selectedText + '\n@' + user_login + ', '
} else {
text += "> " + selectedText.replace(/\n/g, '\n> ') + '\n\n**@' + user_login + '**, '
}
$.markItUp( {
replaceWith: text
});
$.scrollTo('#id_message');
} else {
alert('Выделять там, нажимать тут - не порядок!');
}
} else {
var text = $.get('/forum/quote/' + post_msgID + '/' + formatter + '/', function(response) {
$('#id_message').focus();
var text = response['text'];
if (editorIsUsingBBCode) {
text += '\n@' + user_login + ', '
} else {
text += '\n\n**@' + user_login + '**, '
}
$.markItUp({
replaceWith: text
});
$.scrollTo('#id_message');
}, 'json');
}
return false;
}); -
-
22 февраля 2015 г. 1:43, спустя 32 минуты 17 секунд
Блин бб-коды пожирают сами себя, вот попроавил чтобы всё было норм:
$('li.post > div > div > p > span > a.quote').mouseover(function() {
function getSelection() {
var text = "", element = null;
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var node = sel.getRangeAt(0).commonAncestorContainer;
element = node.nodeType == 1 ? node : node.parentNode;
text = sel.toString();
}
} else if (typeof document.selection != "undefined" &&
document.selection.type != "Control") {
var textRange = document.selection.createRange();
element = textRange.parentElement();
text = textRange.text;
}
return {
isValid: (element != null && text != ""),
selectedText: text,
containerElement: element
};
}
var post_msgID = $(this).parent().parent().parent().parent().parent().find('a:first').attr('name');
var post_date = $(this).parent().siblings('a').html();
var user_login = $(this).parent().parent().parent().parent().find('div:first > p > a').html();
var formatter = $('#switcher option:selected').val() || 'bbcode';
var editorIsUsingBBCode = ($('#switcher').length && formatter == 'bbcode');
var selection = getSelection();
if (selection.isValid) {
if ($(this).parents('li.post').has(selection.containerElement).length) {
$('#id_message').focus();
var selectedText = selection.selectedText;
var text = $('#id_message').val().length > 0 ? "\n" : "";
if (editorIsUsingBBCode) {
text += '' + selectedText + '[' + '/quote' + ']\n@' + user_login + ', '
} else {
text += "> " + selectedText.replace(/\n/g, '\n> ') + '\n\n**@' + user_login + '**, '
}
$.markItUp( {
replaceWith: text
});
$.scrollTo('#id_message');
} else {
alert('Выделять там, нажимать тут - не порядок!');
}
} else {
var text = $.get('/forum/quote/' + post_msgID + '/' + formatter + '/', function(response) {
$('#id_message').focus();
var text = response['text'];
if (editorIsUsingBBCode) {
text += '\n@' + user_login + ', '
} else {
text += '\n\n**@' + user_login + '**, '
}
$.markItUp({
replaceWith: text
});
$.scrollTo('#id_message');
}, 'json');
}
return false;
}); -
22 февраля 2015 г. 1:48, спустя 5 минут 38 секунд
бля еще маусовер оставил от грисманки
@adw0rd, короче прилепил файл -
-
22 февраля 2015 г. 2:07, спустя 9 минут 50 секунд
у нас, если что, github gist можно вставить)
@Sinkler, ок, типа ссылку так?
https://gist.github.com/Koshub/a39655478f7e8ffc8df1 -
-
-
22 февраля 2015 г. 2:19, спустя 2 минуты 17 секунд
-
-
-
22 февраля 2015 г. 2:25, спустя 5 минут 5 секунд
http://gist.github.com/Koshub/a39655478f7e8ffc8df1
Спустя 16 сек.
всрали в общем функицонал. явно эдво сломал. зуб даюСапожник без сапог
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!