Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  JQUERY ja this märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 18.05.2012 12:40:36 JQUERY ja this vasta tsitaadiga

Probleem objekti tuvastamisega event funktsioonis.
Näites esimesed kui määrata objekt ID abil, toimivad, kolmas puhtalt JS abil ka töötab ja viimane this.id kuvab kenasti õige objekti ID, kuid miks ei toimi mitte ükski JQ funktsioon ( position, css ) kui kasutada this
Veateateks, et objekt ei toeta sellist meetodi.

Edit: #H on sama objekti ID ehk this.id

$('.BOXstar').mousedown(function (e){

alert($('#H').css('left')); // toimib
alert($('#H').position().left); // toimib
alert(this.offsetLeft); // toimib
alert(this.position().left);// ei toimi
alert(this.id);// toimib

});

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 18.05.2012 13:08:08 vasta tsitaadiga

this ei ole jQuery objekt, vaid DOM element. Kasuta $(this).
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 18.05.2012 13:22:14 vasta tsitaadiga

Tänud. Ma pidin ennast juba metsseaks vihastama.
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Kilpa
HV kasutaja
Kilpa

liitunud: 10.06.2010



Autoriseeritud ID-kaardiga

sõnum 22.05.2012 10:59:15 vasta tsitaadiga

Üldiselt sellise debugimise jaoks on alert suht kehv, pigem kasuta brauseri poolt pakutavaid vahendeid Firefoxile soovitan FireBug'i, Chrome'l ja IE'l on näiteks Developer tools (vajuta F12) - mille alt leiad näiteks javascripti konsooli, kuhu saad oma asju pritsida console.log() funktsiooniga.

Ma soovitan sul lugeda javascripti skoopide kohta: http://tahvel.info/javascript:advanced#skoop
Kommentaarid: 25 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 24
tagasi üles
vaata kasutaja infot saada privaatsõnum
Vermon
Kreisi kasutaja
Vermon

liitunud: 04.12.2003




sõnum 22.05.2012 11:07:47 vasta tsitaadiga

console kasutamisel ole ettevaatlik. Tihti juhtunud, et osad brauserid ei defineeri console objekti kui konsool on kinni ja siis mõistatad miks JS ei tööta, paned konsooli tööle ja vigu ei ole icon_biggrin.gif
Vb on mõistlik alati console ise defineerida kui olemas ei ole.
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 22.05.2012 12:40:42 vasta tsitaadiga

Vermon kirjutas:
console kasutamisel ole ettevaatlik. Tihti juhtunud, et osad brauserid ei defineeri console objekti kui konsool on kinni ja siis mõistatad miks JS ei tööta, paned konsooli tööle ja vigu ei ole icon_biggrin.gif
Vb on mõistlik alati console ise defineerida kui olemas ei ole.
javascript:
  1. if(typeof(window.console) === 'undefined') window.console = {log: function (){}};
  2.  
  3. if (!Date.now)
  4. {
  5.   Date.now = function now()
  6.   {
  7.     return +new Date();
  8.   };
  9. }
Sellise jupi panen ma alati enda JS failide algusesse.
Ühes mobiilses brauseris puudus ka Date.now meetod, seega pidin ka seda emuleerima.
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  JQUERY ja this
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.