RussellReal Posted January 4, 2009 Share Posted January 4, 2009 ok I have an object right lets say sumfin like this: function handleThisEvent() { // HOW do I reference this event's CALLING xmlHTTPRequest object? } function What() { a = new XMLHttpRequest(); a.open("GET","whatever.php",true); a.send(null); a.onreadystatechange = handleThisEvent; } abc = new What(); inside handleThisEvent how would I reference "a" the xmlHTTPRequest object specified in the What object.. without making a global variable equal to "a" Link to comment https://forums.phpfreaks.com/topic/139426-question-about-events/ Share on other sites More sharing options...
KevinM1 Posted January 4, 2009 Share Posted January 4, 2009 ok I have an object right lets say sumfin like this: function handleThisEvent() { // HOW do I reference this event's CALLING xmlHTTPRequest object? } function What() { a = new XMLHttpRequest(); a.open("GET","whatever.php",true); a.send(null); a.onreadystatechange = handleThisEvent; } abc = new What(); inside handleThisEvent how would I reference "a" the xmlHTTPRequest object specified in the What object.. without making a global variable equal to "a" Hmm...have you tried using 'this', or 'this.a'? Link to comment https://forums.phpfreaks.com/topic/139426-question-about-events/#findComment-729460 Share on other sites More sharing options...
emehrkay Posted January 5, 2009 Share Posted January 5, 2009 You'll have to "bind" the "this" state of the a object to the xmlHTTPRequest object. You can do that with the pass function. It is kinda difficult to understand, but I found a great example at mozilla's dev site. Let me see if I can find it. Link to comment https://forums.phpfreaks.com/topic/139426-question-about-events/#findComment-729621 Share on other sites More sharing options...
emehrkay Posted January 5, 2009 Share Posted January 5, 2009 sorry, pass is a MooTool specific function. What I was talking about was the apply method https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/apply Check out this example in firebug function a(){ this.property = 'a property'; } b = function(){ console.log(this.property); } x = new a(); y = b.apply(x); //b's "this" is now the same as x. If b had arguments, you'd pass it as an array as the second argument of apply Link to comment https://forums.phpfreaks.com/topic/139426-question-about-events/#findComment-729636 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.