[JavaScript] DOMAttrModified propertychange IE9

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • T-Blizzard
  • Registratie: Juni 2001
  • Laatst online: 05-10 19:39
Ik gebruik in een project al een hele tijd onderstaande code. Ik heb om een ASP.NET ValidationSummary een div geplaatst (display: none). Op het moment dat er clientside validatie plaats vind veranderd het display attribute van de Validation Summary waardoor de div eromheen ook zichtbaar zou moeten worden. Dit heeft altijd goed gewerkt in IE en FF. Nu heb ik sinds kort IE9 en lijkt 'propertychange' niet meer te werken. Ik heb me al rot gegoogled maar kan geen workaround of iets dergelijks vinden.


JavaScript:
1
2
3
4
5
6
7
function pageLoad(sender, args) {
     $addHandlers($get('<%= this.vsDefault.ClientID %>'), { 'DOMAttrModified': PropHasChanged, 'propertychange': PropHasChanged });
 }

function PropHasChanged() {
     $get('<%= this.pnlValidation.ClientID %>').style.display = $get('<%= this.vsDefault.ClientID %>').style.display;
}

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Heb je al gedebugged? (Debuggen: Hoe doe ik dat?). Worden de juiste ID's e.d. wel in de strings gezet? Wordt de functie wel aangeroepen? Etc.

Overigens; zover ik zie wordt DOMAttrModified helemaal niet door IE ondersteund :?

[ Voor 16% gewijzigd door RobIII op 05-05-2011 12:42 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • T-Blizzard
  • Registratie: Juni 2001
  • Laatst online: 05-10 19:39
Als ik compatibiliteitsmodus aanzet wordt het event gewoon getriggert.

Klopt IE zou de propertychange moeten oppakken. Heb dus wel al gevonden dat er iets veranderd is IE9.

http://bugs.jquery.com/ticket/8485
RobIII schreef op donderdag 05 mei 2011 @ 12:39:
Heb je al gedebugged? (Debuggen: Hoe doe ik dat?). Worden de juiste ID's e.d. wel in de strings gezet? Wordt de functie wel aangeroepen? Etc.

Overigens; zover ik zie wordt DOMAttrModified helemaal niet door IE ondersteund :?

Acties:
  • 0 Henk 'm!

  • T-Blizzard
  • Registratie: Juni 2001
  • Laatst online: 05-10 19:39
Laatste site heeft me uiteindelijk op weg geholpen om het op te lossen:

JavaScript:
1
2
3
4
5
6
var el = $get('<%= this.DCDefault.ClientID %>');
if (el.attachEvent) {
    el.attachEvent('onpropertychange', PropHasChanged);
} else if (el.addEventListener) {
    el.addEventListener('DOMAttrModified', PropHasChanged, false);
}