• 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ğ
    Ve türevleri
    • Sol Üst - X ve Y eksenleri boyunca ofset iki kattan fazla farklılık göstermemelidir
    • Sağ üst
    • sol alt
    • sağ alt
    Kütüphaneyi bağlamak için sayfanıza aşağıdaki kodu eklemeniz gerekir:

    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