Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mr. Charset

Como criar um evento especial clique longo usando "mousedown",

Recommended Posts

Eu tenho este evento especial para clique triplo:

var c1 = 0;

$.event.special.tripleclick = {
setup: function(data, namespaces) {
var elem = this, $elem = jQuery(elem);
$elem.bind('click', jQuery.event.special.tripleclick.handler); },
teardown: function(namespaces) {
var elem = this, $elem = jQuery(elem);
$elem.unbind('click', jQuery.event.special.tripleclick.handler)},
handler: function(event) {
var elem = this, $elem = jQuery(elem), clicks = $elem.data('clicks') || 0, start = $elem.data('startTimeTC') || 0;
if ((new Date().getTime() - start)>= 1000) {
clicks = 0; }
clicks += 1;
if(clicks === 1) {
start = new Date().getTime();}
if ( clicks === 3 ) {
clicks = 0;
event.type = "tripleclick";
c1+=1;
jQuery.event.handle.apply(this, arguments);}
$elem.data('clicks', clicks);
$elem.data('startTimeTC', start); }};
Aí, em seguida:
$(function() {
$("#I").bind("tripleclick", function() {
if (c1 == 1)
{
$(this).rotate({ endDeg:-90, persist:true });
} }); });
$(function() {
$("#I").bind("tripleclick", function() {
if (c1 == 2)
{
$(this).rotate({ endDeg:-180, persist:true });
} }); });
$(function() {
$("#I").bind("tripleclick", function() {
if (c1 == 3)
{
$(this).rotate({ endDeg:-270, persist:true });
} }); });
$(function() {
$("#I").bind("tripleclick", function() {
if (c1 == 4)
{
$(this).rotate({ endDeg:-360, persist:true });
} }); });
$(function() {
$("#I").bind("tripleclick", function() {
if (c1 == 5)
{
$(this).rotate({ endDeg:0, persist:true });
c1 = 0;
} }); });
Até funciona, mas eu preciso criar um evento especial para um clique longo. Pode chamá-lo de "longclick". Eu preciso que ele possa ser colocado no lugar de "tripleclick", mas que a div gire do mesmo jeito. Sei que isso deve dar muito trabalho. Por isso, de antemão, já agradeço muito aos que tentarem ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.