Javascript Callback/Object Conflict
Sep 2, 2006
I have the following Javascript code
function Obj()
{
obj.squares = new Array();
}
Obj.prototype.Load= function(xdoc)
{
var goat = "head";
xdoc.ProcessNodes("squares/square", function(node)
{
alert(goat); // <-- this works fine
this.squares.push(
// do processing on node, create a square
);
});
}
Now the xdoc is another object I have, with a method called
ProcessNodes. The only important thing to know about ProcessNodes is
that it does some things, and calls its second argument (which is a
function) successively.
The problem I am running into here is once I get into the callback
function, "this.squares" is returning null ... even though it has been
initialized to an Array. For whatever reason, its like the object loses
scope when I get into the callback function. For all other intents and
purposes however, the callback function has the same scope as the
calling block (i.e. the goat variable is still accessible).
View 1 Replies
ADVERTISEMENT
Sep 13, 2011
i am using phonegap and html5 in my webapp, the problem is when i try to use the html5's FileReader it conflicts with the phonegap's FileReader object.. it's as if when i invoke the FileReader in html5 the one that is being called is the FileReader of phonegap.. any workaround?
View 1 Replies
View Related
Dec 27, 2006
I have a js dropdown menu and js slideshow on the same webpage.
The menu dropdowns work great in FF but not in IE 6. The menus in ie
drop down behind the slide show which I do not want. Does anyone know
how I can fix that? Perhaps an iFrame?
View 1 Replies
View Related
Oct 21, 2005
I'm trying to combine these two scripts to acomplish a combined effect.
None of my variables are duplicates so that's not the problem. I've
been able to identify the line that breaks the first script - however I
don't know how to fix it. Both scripts work great separately. When I
comment out the 1 line in the 2nd script the 1st script works. And when
I leave the comment out the second one works but not the first. Code:
View 3 Replies
View Related
Jul 14, 2007
Basically, I have a div section in my xhtml that I want visible for
print (div {display: block;} in my print css), and visible if somebody
has javascript disabled (therefore also div {display: block;} in my
screen css), but not visible on screen with javascript activated
(i.e., turned off in javascript with div.style.display = "none").
The problem is one of precedence. When displaying the page on screen I
want my non-interactive javascript code to execute after the css rules
have been applied (so I put my javascript within window.onload). But
when a user attempts to print, I'd prefer if the css (for print) were
applied after the javascript. Unfortunately this doesn't seem to be
what happens.
View 1 Replies
View Related
Jan 28, 2007
I am using a simple javascript image insertion on my XHTML page, and I have encountered a problem. The Javascript code fails to execute when the doctype is XHTML on Firefox (works on Opera). However, when I simply rename the file with an HTML extension, the code executes on all browsers. Code:
View 6 Replies
View Related
Oct 3, 2010
I have simplified the problem - see image.[URL]I instantiate object obj1 which inturn instantiates subObj1. subObj1 is a slave to obj1. obj1 registers a handler function called method1 with subObj1 so that subObj1 can tell obj1 when it has finished.For example: call subObj1.subMethod2() to get the sub object to do something.subObj1 calls subMethod1 when its finished with its task, which inturn causes method1 to be called.
If I call method1 directly from obj1 'this' refers to obj1.However when method1 gets called by the subObj1 through the event handler mechanism,I find that 'this' has been changed to refer to subObj1.This is a problem as now method1 has lost all connection with its object obj1.If I define method1 within the 'Class1' function, I can get it to work if I use the 'var me = this;' trick, but if you have lots of methods within Class1() with further nesting this can get a bit hard to read.So, can someone tell me how to deal with 'this' changing. I.e. I want 'this' to refer to obj1 within method1.
<html>
<body>
<script type="text/javascript">
[code]....
On another note, there seems to many ways of defining methods (e.g using 'prototype' etc etc) and I gettting sick and tierd of a 'trial and error' approach to get things working. Can anyone recomend a good resourse that sets out the best way to design with javascript so I dont keep running into these issues.
View 5 Replies
View Related
Apr 27, 2007
I'm creating a list with buttons that show and hide some of the list elements to create the effect of scrolling. I've built an scrollList object so I can apply this to any list. When you create the object and pass it the id of the <ul> and how many items of the list you want to be displayed. It will add the scroll down and scroll up links and add an Event.observe to them (I'm using the Prototype library).
This code creates the object
var main_news_articles;
main_news_articles = new scrollList('main_news_articles', 5);
main_news_articles.init();
The problem I am having is with the callback functions of the onclick event of the links (scrollUp and scrollDown). The this keyword within these functions is refering to the link and not the object.
To try and solve this I've made the title attribute of the link the same as the variable name of the scrollList object. I can reference the scrollList object like so Code:
View 2 Replies
View Related
Aug 10, 2007
I'm currently working on a project using Ajax (just for a little background) bascially I click on a button and it loads the editing tool on the paragraph tag i've clicked on (well thats the idea). The ajax bits themselves aren't the problem I appear to have a this.elementId in my class loosing data or becoming undefined somehow. Code:
View 7 Replies
View Related
Apr 13, 2010
I use the getJSON request to fill a select (with cities names) after the user have choosen his region.
I paste some code:
The problem is that callback is never called. I used firebug and i have seen that when i change region the getJSON function is called and my script (python) return this JSON:
Why my callback is not called? I can't even get the alert ('callback time!'). I thinked that my json could be broken, but firebug net console read and parse it very well, so i think is valid JSON.
I also tried to split up the function declaration from the getJSON request, but it's no use.
View 5 Replies
View Related
Aug 8, 2006
The IE developer toolbar's DOM inspector shows the OBJECT tag and the PARAM
tags inside it, and if I don't have the Javascript in an external file, I'll
get the "click here to activate" tooltip and the border around what is
supposed to be the Flash movie. If I right-click inside the border, I get the
Flash context menu. The movie just doesn't load.
<html><head><title>foo</title>
<script>
function foo() {
AXObject = document.createElement("object");
AXObject.type="application/x-shockwave-flash";
AXObject.data="flashtest.swf";
AXObject.width="200";
AXObject.height="50";
AXObject.style.visibility="visible";
var p=document.createElement("param");
p.name="movie";
p.value="flashtest.swf";
AXObject.appendChild(p);
var p=document.createElement("param");
p.name="quality";
p.value="high";
AXObject.appendChild(p);
document.body.appendChild(AXObject);
}
</script>
</head>
<body id="foo" onload="foo()">
</body>
</html>
View 1 Replies
View Related
Jul 23, 2005
Does Javascript supply a function that destroys an object? If so, is there a
dependancy on Javascript version?
View 3 Replies
View Related
Apr 30, 2007
Is it possible to have something like the following so that 'three'
can access 'one':
var x = {
one: 1,
two: { three:this.one } // Or parent.one ?
}
If not (which I have nearly come to a conclusion on) what is the next
best way to accomplish this?
View 5 Replies
View Related
Nov 15, 2007
I want a page should not maintain history.what code in javascript.
View 1 Replies
View Related
Jul 23, 2005
I want to access the features of a plugin without actually embedding
it into a page. Is this possible? Eg
The code to embed the object into a page is:
<OBJECT classid='CLSID:7FA62735-AHC3-14d2-9F81-00114B3245C5
codebase='http://www.test.com/plug.cab#version=3,1' "id='myPlugin'
height=Ɔ' width=Ɔ'>
<EMBED type='application/x-myPlugin' name='myPlugin' hidden='true'
src='in.txt'></EMBED>
</OBJECT>
I could simply add this using document.write, but for various reasons
I dont want to do this.
I would rather do something like:
var plugin = (navigator.mimeTypes &&
navigator.mimeTypes["application/x-Web-Plugin"]) ?
navigator.mimeTypes["application/x-Web-Plugin"].enabledPlugin : 0;
myObj = new object("CLSID:7FA62735-AHC3-14d2-9F81-00114B3245C5");
myObj.pluginMethod
View 2 Replies
View Related
May 8, 2006
I have situation that when my page is loaded i create js object
<html>
...
<script>
function Page() {
this.page = 0;
this.result = 0
this.resultCount =1;
this.currentPage =1;
}
MyPage= Page()
</script>
then in my javascript function i use object like this:
function getPage() {
if(!MyPage) {
MyPage = new Page();
}
return MyPage;
}
but there is one problem: MyPage lost one of the property, currentPage.
When i do alert(MyPage.cuurentPage) shows mi undefined. After object
initialization everything seems to be alright, currentPage is set to 1
but when i Try use MyPage in my js code is already set to undefined.
What happen? What I'm doing wrong?
View 3 Replies
View Related
Oct 20, 2006
I'm trying to utilized a more object-oriented approach to managing
window events in javascript. Thus, I am creating a "controller" object
to handle events and interact with the server. However, I apparently
don't fully understand what "this" refers to. In the code below I was
expecting that when the button was clicked (handleDeleteButtonClicked
function) that "this" would be pointing at a ViewController object.
Instead it was the Button (HtmlInputElement).
<html>
<head>
<script>
/* Constructor */
function ViewController() {
this.foo = "bar";
}
/* delete button handler */
ViewController.prototype.handleDeleteButtonClicked = function() {
window.alert("delete clicked, this=" + this + " this.foo= " +
this.foo);
};
/* initializer */
ViewController.prototype.initialize = function() {
document.getElementById("delete-button").onclick =
this.handleDeleteButtonClicked;
};
</script>
</head>
<body onload="javascript:new ViewController().initialize();">
<input id="delete-button" type="button" value="Delete">
</body>
</html>
View 28 Replies
View Related
Feb 28, 2003
I just released javascript lib that really helps to develop robust and clear js-scenarios following the OOP directions. The library is compatible with wide range of browsers on different platforms, including Netscape 4.x, Netscape 6.x, Netscape 7.x, Opera 6, Opera 7, Mozilla 1.0, IE 4, IE 5, IE 6.
View 3 Replies
View Related
Feb 15, 2006
Any websites or good books to learn real heavy object oriented javascript?
View 1 Replies
View Related
Mar 7, 2006
I am creating a JavaScript object which I want to use to respond to user input on a web page. The object will basically be made up of a constructor and then a selection of functions which will use the DOM to alter the appearance of the page according to the user's input. I am getting stuck because I want a form element that is being created by the object to have an 'onkeyup' event attached to it which will call another function from the same object.
Now, I understand how to attach the 'onkeyup' event to the input element I have created using the DOM. If I tell the event to call a normal function (alert() etc) then it does exactly that. What I am having trouble with is getting the event to call another function from the object that created the input box in the first place. (I don't even know if this is possible / a wise thing to do!). Code:
View 7 Replies
View Related
Oct 27, 2003
I have a fairly complex javascript object - containing strings and arrays - which I need to pass along to a second PHP page. Is there a way to pass this object along via POST to be picked apart by the receiving PHP script?
I could dynamically create a form, populate it with the contents of the object, then pass it along via submit(), but frankly that's an awful pain.
View 4 Replies
View Related
Mar 26, 2006
I'm having trouble getting the following code to work properly. Every time I try to access the private testing variable from the priveleged MyMethod it gives an error. Says it can't find testing and that it has no properties so I can't run a push() command on it.
function MyClass()
{
var testing = new Array();
// define the method
function MyMethod()
{
this.testing.push("hello");
}
// make the method priveledged
this.MyMethod = MyMethod;
}
// a test function it ensure the variables declared here are isolated
function Start()
{
var myClass = new MyClass();
myClass.MyMethod();
document.write("[" + myClass.testing + "]");
}
Start();
View 3 Replies
View Related
Nov 4, 2001
Can someone tell me all the OOP's that can be made from javascript.
View 3 Replies
View Related
Sep 30, 2007
I have a page (page 1), my page 1 has an IFRAME which loads another page (page 2).
My page 2 has a JavaScript object declared on the page: var MyObject = new Object();
I want to access this object from the parent page (page 1).
I tried:
var TempObj = document.getElementById("MyIFrame");
TempObj.document.MyObject.value = "blah blah";
But it said MyObject didn't exist.
Can someone tell me how to access it in this manner?
View 2 Replies
View Related
Jul 23, 2005
I got two ASP pages. One is ASP email form (I'm using Persist ASP
Email component). Another one has all file links in it. For example,
when user click Outlook course hyperlink. It will pop up another
window with outlook course PDF file. (All PDF files are already in the
server).
What I am trying to do is: When user click the "Add Email" hyperlink,
it will add that course name and filepath into ASP/VBScript Dictioanry
Object. After the user finish and click "Attach to email" button. All
the files will be attached in the email as an attachment.
Because I am not familar with VBScript. So, can Javascript add items
to ASP Dictionary Object?
View 3 Replies
View Related
Jul 23, 2005
Is this possible? Basically I need to grab all the flash objects on the page (done) and then set the wmode to transparent so it doesn't mess up my DHTML menu.
View 2 Replies
View Related