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

  • Hudson Music

    Hudson Music

    13 Mart 2007
  • jbignacio

    jbignacio

    13 Mart 2006
  • Wii Minute Radio

    Wii Minute R

    31 Mayıs 2008