Keresés

Új hozzászólás Aktív témák

  • Balázs1986

    őstag

    válasz Sk8erPeter #2622 üzenetére

    A useragent nem konkrétan ott és azért volt, hanem egy attachEvent / addEventListener miatt, még a kód első sorában, az init()-hez. Lehet, hogy ahhoz sem kellett volna, de méd nagyon kezdő vagyok :B De ha már ott volt, gondoltam azt használom...nem jött be :D
    De a lényeg:
    Megoldódott a probléma :)
    document.onkeydown=mozgat;
    function mozgat(e) {
    var nyomott;
    e = e || window.event;
    nyomott = e.keyCode || e.which;
    ...
    }

    Ez a mocsok IE8 x-féle megoldás közül csak ezzel volt hajlandó mozgatni a kurzort...de lényeg, hogy most már megy.
    Köszönöm a segítséget, azt meg főleg, hogy éjjel is :)

    Bocsánat a dupláért!

  • Balázs1986

    őstag

    válasz Sk8erPeter #2622 üzenetére

    Akkor már csak IE8 alatt tesztelem :)
    Kipróbáltam az általad másolt kódot még akkor, amikor láttam a JSBint-ben...egész pontosan így nézett ki:
    document.onkeydown=mozgat;
    function mozgat(e)
    {
    var nyomott = (e.which) ? e.which : e.keyCode;
    ...
    }

    Így is jön a "which értéke NULL, vagy nem objektum" üzenet. Ami érdekes, mivel neki a which-el nem kellene foglalkozni, ha csak nem mindjárt a vizsgálandó értékkel van a baj.
    Ezért próbaként változtattam így:
    var nyomott = (e.keyCode) ? e.keyCode: e.which;
    Ekkor pedig "keyCode értéke NULL, vagy nem objektum" jött...tehát arra gondolnék nem az ellenőrzésnél van a baj, hanem eleve nem is ad át az esemény karakterkódot :F
    Ez létezhet? És mint írtam, a JSBint-nél is ezt csinálja. Most már komolyan nem tudom, hogy az IE8 a bugos, vagy a kódom. Még arra tudok gondolni, hogy valamiért nem jó helyen van a fókusz...de akkor meg miért csak IE8 alatt? :F
    (Elnézést a sok szenvedésért, de tényleg nem tudom felfogni...)

Új hozzászólás Aktív témák