2014-11-13 2 views
1

Я ищу способ CTRL - L, что всплывающие окна в окно, чтобы вставить ссылку, по выделенному тексту. Как и редактор StackExchange, я использую прямо сейчас!Как мне сделать ссылку с помощью keybindins, и выделенный текст

ссылки предпочтительно действительны html, и если я могу выбрать как MarkDown, так и действительный номер html, тогда это было бы замечательно!

Я не мог найти его нигде на SO, или в interwebs.

Что я делал раньше:

$("#mark").click(function() { 
    var range = window.getSelection().getRangeAt(0); 
    var newNode = document.createElement('mark'); 
    range.surroundContents(newNode);  
    return false; 
}); 

Кнопка:

<a href="javascript:void(0)" id="mark">mark</a> 

При нажатии кнопки mark он будет применять HTML mark тег к

<mark>selected text</mark>

I хочу того же, что и я редактор stackexchange: CTRL - L эту коробку:

enter image description here


EDIT

Мой новый код:

Во время игры с promptbox использованием JavaScript [1], мне удалось получить Я хочу этого.

<button onclick="link()">Link</button> 

<p id="demo"></p> 

<script> 
function link() { 
    var link = prompt("Insert hyperlink", "http://"); 
    var title = prompt("Insert hyperlink title", "title"); 
    var name = prompt("Insert hyperlink name", "name"); 

    if (link != null) { 
     document.getElementById("demo").innerHTML = 
     "\<a href=\"" + link + "\" title=\" " + title + " \"> " + name + " </a>"; 
    } 
} 
</script> 

jsfiddle

Пытаясь добраться до работы:

  • Чтобы получить содержимое HTML title тега, при вставке ссылки.

    пример:

    < A HREF = "https://www.example.nl/example" название = "* ссылка *: * название *"> * название * </а>

Ссылка:

  1. Tryit Editor v2.2
+0

Что вам нужна помощь? Отображение окна при нажатии клавиши? Проверка ссылок? Вставка ссылок в ваш редактор? Что вы пробовали/сделали до сих пор? – Drown

+0

@Drown Фактический код. Я пытался искать в Интернете, но не повезло. Я начинающий js/jquery. Такие же функции, как редактор Stackechange для создания ссылок. Я создал редактор, который может использовать зеленый цвет для выбранного текста, используя 'span', нажав кнопку, но создание ссылки немного отличается. – blade19899

ответ

0

Использование jQuer у, вы можете использовать на keydown триггер, чтобы захватить ключи, которые были нажаты, например, так:

$('#your_textarea').on('keydown', function(e){ 
    //Check if it was CTRL-L 
    if(e.keyCode == 76 && e.ctrlKey) 
    { 
     var link = prompt("Enter a link : "); 
    } 
}); 

Теперь, ссылку введенный пользователем в переменной link.Вы можете делать то, что хотите с ним (например: добавьте его в текстовое поле редактора).

Примечание: Вы должны использовать keydown событие, keypressed и keyup события не будут работать для этого.

Вот скрипку: http://jsfiddle.net/js1p5h9n/

+0

Я не мог заставить это работать. К сожалению, я новичок. – blade19899

+0

Является ли скрипка для вас? Что вы пробовали? Измените свой вопрос, чтобы добавить новый код. – Drown

+0

сделал мой новый код. Что касается вашего кода. У меня есть минимальное знание 'jquery'. В основном ткнул его палкой, не работал, поэтому сдался. – blade19899

Смежные вопросы