Como você lida oncut, oncopy e onpaste em jQuery? DoCow
jquery jquery manipulação de events do webkit de
Usando variables ​​estáticas em vez do estado do aplicativo no ASP.NET Como encontrar um memory leaks Java Git para iniciantes: o guia prático definitivo Estendendo o modelo do usuário com campos personalizados no Django C # WebBrowser Control – Formulário de envio não funciona usando InvokeMember ("Click") Valor inicial de Select2 4.0.0 com Ajax Como faço para classificar uma matriz rápida contendo instâncias da subclass NSManagedObject por um valor de atributo (data) Qual é a maneira correta de usar printf para imprimir um size_t? ConcurrentModificationException ao adicionar dentro de um loop foreach em ArrayList PreparedStatement IN cláusula alternativas? Como posso selecionar um elemento com várias classs no jQuery? Como faço para compor uma matriz de rotação com ângulos humanos legíveis a partir do zero? Converter booleano em int em Java Como você pede especificamente o eixo ggplot2 x em vez da ordem alfabética? Swing GroupLayout: Redimensionamento e limitação de tamanhos de componentes
A documentação do jQuery diz que a biblioteca tem suporte embutido para os seguintes events: desfocar, focar, carregar, resize, rolar, descarregar, clicar, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, enviar, keydown, keypress, keyup e erro.
Eu preciso lidar com events de recortar, copiar e colar. Qual a melhor maneira de fazer isso? FWIW, eu só preciso me preocupar com o WebKit (sorte minha!).
ATUALIZAÇÃO: Estou trabalhando em um "widget" em um ambiente semelhante ao Dashboard. Ele usa o WebKit, então só importa realmente (para meus propósitos) se esses events são suportados lá, o que parece que eles são.
Você pode adicionar e remover events de qualquer tipo usando os methods .on() e off()
Tente isso, por exemplo
jQuery(document).on('paste', function(e){ alert('pasting!') });
Na verdade, jQuery é bastante indiferente se o tipo de evento que você atribui é suportado pelo navegador, portanto, é possível atribuir tipos de events arbitrários a elementos (e objects gerais), como:
jQuery('p').on('foobar2000', function(e){ alert(e.type); });
No caso de tipos de events personalizados, você deve .trigger() "manualmente" em seu código, assim:
jQuery('p').trigger('foobar2000');
Puro eh?
Além disso, para trabalhar com events DOM personalizados / personalizados de uma maneira compatível com vários navegadores, você pode precisar usar / escrever um "plugin de evento jQuery" … exemplo do que pode ser visto em jquery.event.wheel.js Plugin Mousewheel de Brandon Aaron
Vários events da área de transferência estão disponíveis em Javascript, embora o suporte seja irregular. O QuicksMode.org possui uma grade de compatibilidade e uma página de teste . Os events não são expostos através do jQuery, portanto você terá que estender a biblioteca ou usar events Javascript nativos.
O Mozilla suporta um evento "input" que estou tendo problemas para encontrar documentação útil. No mínimo, sei que triggers em pasta.
this.addEventListener('input', function(){//stuff here}, false );
Como jQuery 1.7, você pode usar os methods bind (…) e unbind (…) para append e remover, respectivamente, manipuladores.
Aqui estão alguns exemplos para alinhar sua missão:
$('#someElementId').bind('paste', function(){return false;});
– Este bloqueará qualquer tentativa de colar da área de transferência no corpo do elemento. Você também pode usar recortar , copiar e outros como tipos de evento (veja os links abaixo)
$('#someElementId').bind('copy', function(){return alert('Hey fella! Do not forget about copyrights!');});
Então, em outros casos, quando você deseja remover esses manipuladores, você pode usar o método unbind () :