Как определить, прежде чем вводить выделенный текст во ввод

#javascript #html #jquery

Вопрос:

Как обычно, вы можете поместить выделенный текст из любого места во входные данные. Я хочу что-то сделать при наведении курсора на ввод. пример: если я выделил какой-то текст, то я перетащил его во вход, но я не попадаю в этот вход. Но ввод, при котором курсор и значок курсора были изменены на значок плюса, я хочу выполнить функцию в это время!

введите описание изображения здесь

 $("input").on("beforeDROP", function(){
//do something
}); 
     form input {
        font-size: 16px;
    }

    form {
        margin: 0 auto;
        width: 100%;
        text-align: center;
    } 
     <form>
        <p>some text</p>
        <input type="text" />
    </form> 

Ответ №1:

Вы можете использовать dragover dragstart события и для прослушивания этих событий.

Прикрепление dragstart прослушивателя к document экрану будет срабатывать всякий раз, когда какой-либо выделенный текст перетаскивается на страницу.

Если вы добавите dragover прослушиватель для ввода текста, вы сможете определить, когда выбранный текст перетаскивается поверх него:

 let textInput = document.getElementById('text-input');

textInput.addEventListener("dragover", (event) => {
  // prevent default to allow drop
  event.preventDefault();
  
  console.log('dragging over input');
}, false);


document.addEventListener("dragstart", (event) => {
  console.log('dragging');
}, false); 
 form input {
  font-size: 16px;
}

form {
  margin: 0 auto;
  width: 100%;
  text-align: center;
} 
 <form>
  <p>some text</p>
  <input type="text" id="text-input" />
</form> 

Комментарии:

1. Если перетащить на вход, выход будет в 100 раз больше! как перетащить на один звонок?