2016-03-18 8 views
0

Javascript throu Youtube'u öğrenmeye başlıyorum ve bu kodu yazarken, pageX undefined olduğunu söylüyor. Gerçekten yardım edebilirim. Ekranda bir fare pozitifi yakalayan bir fonksiyon üzerinde çalışıyorum. Ve lütfen HTML için sormayın, çünkü bu sadece bir form, başka bir şey değil.Javascript e.pageX undefined

JavaScript:

document.onmousemove = pozicijaMisa(); 

çağırarak değil, bir atama olmalı ve: onlar eskimiş uygulama

Kişisel sorundur öğretiyoruz beri

var mie = (navigator.appName == "Microsoft Internet Explorer")?true:false; 

if (!mie) { 
    document.captureEvents(Event.MOUSEMOVE); 
    //document.captureEvents(Event.MOUSEDOWN); 
} 

document.onmousemove = pozicijaMisa(); 
//document.onmousedown = misKliknut(); 
var misKliknut = 0; 
var tipkaStisnuta = 0; 
var misX = 0; 
var misY = 0; 

function pozicijaMisa(e) { 
    if (!mie) { 
     misX = e.pageX; 
     misY = e.pageY; 
    } else { 
     misX =event.clientX + document.body.scrollLeft; 
     misY =event.clientY + document.body.scrollTop; 
    } 
    document.forma.misx.value = misX; 
    document.forma.misy.value = misY; 
    return true; 
} 
+0

yerine o eski YouTube videosunun böyle bir şey öneriyoruz: https://www.codecademy.com/learn/javascript – epascarello

cevap

0

Eh ben farklı öğretici bulacağını olay işleyicisine ne döndüğünü atama.

document.onmousemove = pozicijaMisa; 
+0

e.pageX bölümünden bu kaldırılan hata, ama şimdi bu hat üzerinde dışarı çıkar kodu: document.forma.misx.value = misX; said: java2.js: 40 Yakalanmamış TypeError: undefined 'özelliği' özelliği ayarlanamıyor –

+0

Hata nedir? Ve bu girdiyle bir formun var mı? – epascarello

+0

Üzgünüz, sorun bulundu, form adımı yanlış yazdım; S Yardımınız için teşekkürler :) –

1

Sen kırılgan olan navigator aracılığıyla istemci algılama yapıyoruz.

İstemci algılaması yerine Javascript'te özellik tespiti yapmanıza daha iyi hizmet eder. IE kullanıp kullanmadığınızı görmek yerine, pageX'un var olup olmadığına bakın (özellikle IE'nin daha yeni sürümleri pageX kullanmıyorsa).

document.addEventListener('mousemove', mousePosition); 
function mousePosition(e) { 
    var x = e['pageX'] || e.clientX; 
    var y = e['pageY'] || e.clientY; 
}