2013-08-04 5 views
1

Название умудрено задавать большую часть вопроса, однако мне любопытно, какая часть использования LMB для кликов вызывает визуальное выделение.Какой аспект MouseEvent, или что-то еще, вызывает визуальную подсветку?

Что я имею ввиду при визуальной подсветке - это синий цвет (если вы по умолчанию), который показывает, какой текст вы выбрали, чтобы вы могли его увидеть. Насколько мне известно, фактический выбор - это разница в привязке объектов выделения и фокусе, но есть ли что-то между ними, которое говорит Chrome нарисовать синюю рамку?

Я считаю, что эти две вещи, выбор текста и выделение текста не обязательно работают вместе, а работают одновременно. Мне очень хотелось бы смоделировать выделение текста - и, таким образом, выделить - с помощью других клавиш/кнопок.

ответ

0

Если я понял ваш вопрос, о котором вы говорите .select event (я буду использовать jquery, чтобы показать, что вы можете с этим сделать). это событие срабатывает, когда пользователь выбирает какой-либо текст в вашем элементе. например:

$("#TextArea").on("select", function(){ 
    alert("you have been selected somesing"); 
}); 

TextArea - это текстовое поле, конечно.

EDIT: только некоторые больше информации, а также советы:

$("#TextArea").on("select", function(){ 
    indexOfSelectionStart = this.selectionStart; 
    indexOfSelectionEnd = this.selectionEnd; 
    alert("first index: " + indexOfSelectionStart + ". sec: "indexOfSelectionEnd); 
}); 

С индексами вы можете знать, что пользователь выбрал (если вы используете slice())

Я надеюсь, что помогло, пусть я знаю, если нет.

Удачи.

+0

Относительно интересной информации и весьма полезной, но она не отвечает на вопрос. То, что я пытаюсь сделать, это воссоздать подсветку, а не выбор текста. Другими словами, я хочу создать синюю рамку, которая появляется вокруг текста, когда вы выбрали текст. – muiiu

+0

это текст в текстовом поле или текстовом поле или только обычный текст? вы можете использовать CSS для выделения определенного элемента (div, p, a и т. д.). но я все еще не уверен, что это то, что вы хотите –

+0

Нет, технически это текст в пределах , поэтому большинство, если не весь текст на этом экране. Как бы вы выделили «динамически» (рисование пользовательского выделения начинается и заканчивается) с помощью CSS? – muiiu