Dokunmatik yüzeyi devre dışı bırakmak için "hareket" özelliğini devre dışı bırakın. Chrome ve Firefox için hareket uzantıları
25 Şubat 2008, 19:46 Fare hareketlerini programlama- JavaScript
Opera ve FireFox'un birçok kullanıcısı, Fare Hareketleri (FF için aynı adlı bir eklenti vardır) - tarayıcının çeşitli eylemler gerçekleştirerek tepki verdiği fare hareketleri (yeni bir pencere açmak, yer imleri, geri, ileri vb.)
Açık şu an Kütüphane yalnızca 8 basit hareketi anlar:
- Üst - fare düğmesini basılı tutun ve imleci 50-200 piksel yukarı hareket ettirin (varsayılan olarak) ve bırakın, X ekseni boyunca kayma en az iki kat daha az olmalıdır. y ekseninden daha
- Alt - imleci aşağı hareket ettirin
- Sağ
- Sol Üst - X ve Y eksenleri boyunca ofset iki kattan fazla farklılık göstermemelidir
- Sağ üst
- sol alt
- sağ alt
Ardından, aşağıdaki kodu kopyalayın:
// işlevi olaya bağlamak için jQuery kullanın
// parametreleri ayarla
navigasyon.minX = 50;
navigasyon.minY = 50;
navigasyon.maxX = 300;
navigasyon.maxY = 300;
// geri arama işlevleri
navigasyon.TopLeft = işlev (X,Y) ( );
gezinti.Üst = işlev (X,Y) ( );
navigasyon.TopRight = işlev (X,Y) ( );
navigasyon.Sol = işlev (X,Y) ( );
gezinti.Sağ = fonksiyon (X,Y) ( );
navigasyon.BottomLeft = işlev (X,Y) ( );
gezinti.Bottom = işlev (X,Y) ( );
gezinti.BottomRight = işlev (X,Y) ( );
Bu bizim “hareketlerimiz” için bir hazırlıktır, ilk iki satır global mousedown ve mouseup olaylarına (jQuery kütüphanesini kullanarak) iki fonksiyonumuzu asmak için gereklidir. Sonraki 4 satır, hareketlerin parametrelerini gösterir, yani. çalışacakları sınırlar. Ardından, X ve Y eksenleri boyunca mutlak bir ofset aldıkları parametreler olarak 8 geri arama işlevinin bildirimi gelir.
İşlevlerimizin yanlış pozitiflerinden kaçınmak için, onları "Ctrl" tuşuna basmak daha iyidir ("Ctrl" tuş kodu 17'dir, değiştirmek istiyorsanız - http://unixpapa.com/js/key.html sayfasındaki tüm kodlara bakın):
$(window).keydown(işlev(olay)(switch(event.keyCode)(
durum 17:
$(document).mousedown(navigation.mousedown);
$(document).mouseup(navigation.mouseup);
kırmak;
}
});
switch(event.keyCode)(
durum 17:
kırmak;
}
});
Ve benim örneğimdeki kod şu şekilde görünüyor:
fare Hareketleri()($(window).keydown(işlev(olay)(
switch(event.keyCode)(
//…
// farklı tuşlar farklı şeyler yapar
// Farklı tarayıcılar farklı kodlar sağlar
// ayrıntılar için buraya bakın: unixpapa.com/js/key.html
//…
durum 17:
$(document).mousedown(navigation.mousedown);
$(document).mouseup(navigation.mouseup);
kırmak;
}
});
$(window).keyup(işlev(olay)(
switch(event.keyCode)(
durum 17:
$(document).unbind("mousedown");
$(document).unbind("mouseup");
kırmak;
}
});
Navigation.maxX = 300;
navigasyon.maxY = 300;
Navigation.TopLeft = function (X,Y) (select($("div#left div.top"),Math.abs(X-Y)) );
Navigation.Top = function (X,Y) ( select($("div#center div.top"),Y) );
Navigation.TopRight = function (X,Y) ( select($("div#right div.top"),Math.abs(X-Y)) );
Navigation.Left = function (X,Y) ( select($("div#left div.middle"),X) );
Navigation.Right = function (X,Y) ( select($("div#right div.middle"),X) );
Navigation.BottomLeft = function (X,Y) (select($("div#left div.bottom"),Math.abs(X-Y)) );
navigasyon.Bottom = function (X,Y) ( select($("div#center div.bottom"),Y) );
Navigation.BottomRight = function (X,Y) ( select($("div#right div.bottom"),Math.abs(X-Y)) );
}
işlev seç(el,k) (
değişken hız = 1500;
geçiş(doğru)(
durum(k