SORU
3 EKİM 2012, ÇARŞAMBA


HTML5 jQuery ile - e.offsetX Firefox tanımlanmamış

HTML5 sayfamda aşağıdaki gibi: mousemove olay ile bir div var

        $('#canvas').mousemove(function(e){
            xpos = e.offsetX;
            ypos = e.offsetY;
            $('#mouse').html("X : "   xpos   " ; Y : "   ypos);
        });

Google Chrome ile gayet iyi çalışıyor. Ama Firefox, hem de değer undefined veriyoruz. Kundakçı, e konsola nesne açmış kullanarak kontrol ettim. offsetX offsetY undefined bulunmuştur.

Google'da aradım, bir çözüm varsa offsetX offsetY Her iki tanımsız layerX layerY, kullanmam gerektiğini söylüyordu. Ama Kundakçı, onu bulmak mümkün değildi. Ve hatta böyle bir deneyin vermiştim:

xpos = (e.offsetX==undefined)?e.layerX:e.offsetX;
ypos = (e.offsetY==undefined)?e.layerY:e.offsetY;

Ama bu aynı zamanda değerler olarak undefined veriyor.

En son jQuery - v1 kullanıyorum.8.2. Ve benim Firefox v14 test ediyorum.0.1

Herhangi bir fikir veya öneriniz var mı ? Şimdiden teşekkürler..


EDİT

Dystroy ve bana yardım ettiğin için vusan için teşekkürler. Yukarıdaki sorunun çözümü aşağıdaki gibidir:

ÇÖZÜM

$('#canvas').mousemove(function(e){
  $('#cursor').show();
  if(e.offsetX==undefined) // this works for Firefox
  {
    xpos = e.pageX-$('#canvas').offset().left;
    ypos = e.pageY-$('#canvas').offset().top;
  }             
  else                     // works in Google Chrome
  {
    xpos = e.offsetX;
    ypos = e.offsetY;
  }
  $('#mouse').html("X : "   xpos   " ; Y : "   ypos);
});

Kredi dystroy ve vusan gider. Sağolun kızlar. :)

CEVAP
5 Aralık 2013, PERŞEMBE


FF layerX layerY kullanım ve diğer tüm tarayıcılarda offsetX offsetY.

$('#canvas').mousemove(function(e){
  xpos = e.offsetX === undefined ? e.originalEvent.layerX : e.offsetX;
  ypos = e.offsetY === undefined ? e.originalEvent.layerY : e.offsetY;

  $('#mouse').html("X : "   xpos   " ; Y : "   ypos);
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • Blu animations and other videos

    Blu animatio

    15 HAZİRAN 2007
  • UKF

    UKF

    2 Aralık 2009