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" Quote 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'? Quote 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. Quote 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 Quote Link to comment https://forums.phpfreaks.com/topic/139426-question-about-events/#findComment-729636 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.