Как я могу обработать вставку, щелкнув правой кнопкой мыши в javascript? Я пытался с событием «onpaste» и всеми другими событиями html, но ничего не работает.Вставить событие в Javascript
ответ
Событие не отображается по умолчанию как «onpaste» IIRC. Вы можете сделать это довольно просто в JQuery, выпуская
jQuery(document).bind('paste', function(e){ alert('paste event caught') });
Событие вставки зафиксировано, но содержимое не может быть прочитано таким образом, как «document.addEventListener». –
onpaste событие должно работать во всех современных браузерах (UPD в том числе оперы> = 12,10).
Bind его в JQuery, как это:
$('#txt').on('paste', function() {console.log('text pasted!')})
Вот живой пример: http://jsfiddle.net/7N6Xq/
В чистом JavaScript это будет выглядеть примерно так для современных браузеров
elem.addEventListener ("paste", handler, false); // all browsers and IE9+
и для старые версии IE:
elem.attachEvent ("onpaste", handler); // IE<9
Вы также можете комбинировать его с oninput и других событий (изменения, propertychange, DragDrop и т.д.), чтобы создать относительно пуленепробиваемый отслеживания изменения содержания.
Сноски:
Opera поддерживает Clipboard API, начиная с Presto/2.10.286, что соответствует 12,10, как предложено here. Blink versions Opera (начиная с 15) также должен поддерживать его, но я не могу его протестировать, так как до сих пор нет версии Linux.
Я был удивлен вопросом # 4532473 был закрыт без ответа о том, что произойдет, если вы хотите захватить событие послепечатной обработки. Поскольку это, вероятно, проблема половины случаев, возможный подход в firefox (проверен) заключается в регистрации события oninput прямо внутри обработчика onpaste и удаления обработчика oninput, как только это будет выполнено.
В этом случае вместо oninput следует использовать onpropertychange. (Не проверено)
Для желающих, простая реализация [afterpaste] (http://css-tricks.com/snippets/jquery/paste-events/) – PixnBits
Хороший чистый раствор JS (по запросу ...) доступен on the Mozilla dev site
<!DOCTYPE html>
<html>
<head>
<title>onpaste event example</title>
</head>
<body>
<h1>Play with this editor!</h1>
<textarea id="editor" rows="3" cols="80">
Try pasting text into this area!
</textarea>
<script>
function log(txt) {
document.getElementById("log").appendChild(document.createTextNode(txt + "\n"));
}
function pasteIntercept(evt) {
log("Pasting!");
}
document.getElementById("editor").addEventListener("paste", pasteIntercept, false);
</script>
<h2>Log</h2>
<textarea rows="15" cols="80" id="log" readonly="true"></textarea>
</body>
</html>
- 1. Javascript: вставить событие
- 2. пожара «вставить» событие в Javascript
- 3. Javascript для «Вставить» в RadComboBox «OnClientKeyPressing» событие
- 4. Вставить событие «Изменить событие» в поле выбора
- 5. Вставить событие в GWT
- 6. Вставить событие в Qt
- 7. Javascript вставить событие, чтобы номера в Struts 2
- 8. Вставить объект в событие preUpdate
- 9. Событие «Вставить» в Угловом [ngPaste]
- 10. Вставить событие в календарь андроида
- 11. Вставить инструкции в компонентное событие
- 12. Android - вставить событие календаря
- 13. как вставить uniqid() в JavaScript
- 14. JavaScript: событие mouseenter в JavaScript?
- 15. javascript событие не зарегистрировано
- 16. Вставить javascript в markdown
- 17. Javascript Вставить в массив
- 18. Вставить ссылку в javascript
- 19. Вставить javascript в XSL
- 20. Вставить javascript в Robotium
- 21. Вставить Javascript в VB.NET
- 22. копия - вставить в JavaScript
- 23. Вставить в textarea | JavaScript
- 24. Вставить javascript в GWT
- 25. PyQt QLineEdit и «вставить» событие?
- 26. Вставить событие стрельбы много раз
- 27. Пользовательское событие в javascript
- 28. Событие Onclick в javascript
- 29. Событие пузырьков в JavaScript
- 30. Вставить событие аномалии с jQuery в Opera
Вы пробовали предложенные решения? –