События связанные с выделениями.
Несмотря на то, что Navigator 4.0x не может возвращать выделений текст в полях
text и textarea, он может реагировать на них. Navigator 4.0x поддерживает событие
onselect, которое запускает JavaScript код, когда пользователь выделяет часть текста
в поле формы. Это событие может использоваться для других элементов страницы.
<FORM>
<INPUT TYPE="text" NAME="data" SIZE="30"
onSelect="... statements here ...">
</FORM>
Событие onselect также поддерживается браузером Internet Explorer 4.0x, как
событие для полей text и textarea. Это событие не пузырьковое, как многие
другие в Internet Explorer 4.0x. Непузырьковые события могут быть принято только
у объекта произведшего событие, поэтому вы не можете принимать событие объекта
select на уровне объекта document.
Internet Explorer 4.0x также поддерживает событие onselectstart, которое может
ассоциироваться с любым элементом страницы. Это событие происходит, когда курсор
мыши начинает выделение одного или нескольких элементов. Событие генерируется
элементом, с которого начинается выделение. Так как Navigator 4.0x не поддерживает
это событие, то использовать его бесполезно. С помощью скрипта возможно имитировать
это действие в Netscape 4.0x. Более того, в Navigator 4.0x поддерживается только
выделение текста, поэтому не имеет смысла определять, как элемент сгенерировал
событие. Лучший способ прореагировать на выделение - это событие onmouseup,
которое срабатывает, когда пользователь отпускает кнопку мыши. С помощью
назначения скрипта на это событие возможно проверить, было ли сделано выделение,
и среагировать соответствующим образом.
Событие onmouseup поддерживается обоими браузерами "четвертого" поколения, поэтому
наиболее полезно. В Internet Explorer 4.0x вы можете использовать преимущество
события onmouseup для того, чтобы найти последний элемент выделения. Свойство
srcElement объекта event ссылается на этот элемент. Простейший пример
обработки события, который автоматически определяет выделение, приведен ниже:
function detect(e) {
// check if a selection exists
}
if (window.Event)
document.captureEvents(Event.MOUSEUP);
document.onmouseup = detect;
Назад |
Оглавление |
Далее
|