Перехват событий «изменение места курсора» внутри текстовых областей с помощью jQuery (IE6-совместимого) - PullRequest
7 голосов
/ 29 апреля 2011

Как можно отловить событие «изменение места курсора» внутри текстовой области с помощью jquery (также должно работать в IE6)?

example1 :

before: text |

после: te |

example2 :

до: текст |

после: текст tex | t2

example3 :

до: текст |

после: |


Редактировать :

После перехвата события курсора необходимо также проверить, меняет ли курсор свою позицию (также должно работать на ie6)

Edit2 :

, если у вас есть решениеэто не будет работать в ie6, но в ie7 + webkit, пожалуйста, напишите это

Спасибо,

Yosef

Ответы [ 2 ]

15 голосов
/ 29 апреля 2011

Существуют три события, которые могут заставить курсор изменить положение,

  1. нажатия клавиш
  2. щелчков мышью
  3. программные события, такие как вставка, выбор, фокусировка ...

    Я бы запечатлел эти события для всего, что вы пытаетесь выполнить с помощью «изменения места курсора»

добавлен пример кода:

$("#myTextInput").bind("keydown click focus", function() {
  alert("Current position: " + $(this).caret().start);
});

Благодаря @Nick Craver

0 голосов
/ 05 июля 2018

Я обнаружил, что событие select охватывает все изменения позиции каретки.

...