Получите выделенный текст на странице (не в текстовой области) с jQuery

В примере Вы отправили, он все еще "не освобождает память теперь". Вся память собрана "мусор", но она может позволить памяти быть собранной в более раннем поколение . Необходимо было бы запустить некоторые тесты, чтобы быть уверенными.

Руководство по проектированию Платформы является инструкциями и не правилами. Они говорят Вам, для чего интерфейс, прежде всего, когда использовать его, как использовать его, и если не использовать его.

я когда-то прочитал код, который был простым RollBack () при отказе, использующем IDisposable. Класс MiniTx ниже начал бы работу, флаг Располагают () и если бы эти Commit вызова никогда не происходило, то он затем звонил бы Rollback на себе. Это добавило слой косвенности, делающей код вызова, намного легче понять и поддержать. Результат смотрел что-то как:

using( MiniTx tx = new MiniTx() )
{
    // code that might not work.

    tx.Commit();
} 

я также видел, что синхронизация / регистрирующий код делает то же самое. В этом случае Расположение () метод остановил таймер и зарегистрировал это, блок вышел.

using( LogTimer log = new LogTimer("MyCategory", "Some message") )
{
    // code to time...
}

, Таким образом, вот несколько конкретных примеров, которые не делают никакой очистки неуправляемого ресурса, но делают успешно используемый IDisposable для создания более чистого кода.

6
задан Tom Lehman 23 August 2009 в 07:52
поделиться

2 ответа

Нет ничего плохого в копировании и вставке фрагментов кода, именно с этого начинается большинство людей, и вы будете продолжать это делать, пока не ознакомитесь с вставляемыми фрагментами и начнете изменять биты и части или даже начать с нуля самостоятельно.

Что касается этого конкретного фрагмента кода, я действительно не вижу ничего плохого в его копировании, кроме как не полагаться на встроенные обработчики событий и ненавязчиво добавлять «mousedown» с помощью jQuery.

3
ответ дан 10 December 2019 в 02:51
поделиться

Причина, по которой трудно найти плагин- потому что это не значит, что это не очень "jQuery". Под этим я подразумеваю, что плагины jQuery обычно работают с объектами jQuery, и выбор не имеет ничего общего с какими-либо элементами.

Изменить: Я пропустил тот факт, что вы разместили эту ссылку в своем вопросе, но оставлю ее ниже для полнота, поскольку моя версия отформатирована лучше (но в остальном идентична). :)

<script language=javascript>
function getSelText() {
  var txt = '';
  if (window.getSelection) {
    txt = window.getSelection();
  } else if (document.getSelection) {
    txt = document.getSelection();
  } else if (document.selection) {
    txt = document.selection.createRange().text;
  } else return;
  document.aform.selectedtext.value =  txt;
}
</script>
<input type="button" value="Get selection" onmousedown="getSelText()"> 
<form name=aform >
<textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>
6
ответ дан 10 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: