Accessing Object's Internal Properties?
Mar 31, 2011
I am fairly familiar with the concept of Objects and their properties and methods, but javascript being object based as opposed to object oriented has me stumped on how to access an object's properties from an onclick event handler created for another object created within the original object.In the example below, I have a constructor function called anyObj. to which I pass an object reference to an element.
anyObj has 3 properties and one function increaseWidth()
increaseWidth() creates a new button with an onclick event handler and this is where I have a problem.The onclick function needs to increase the value of anyObj's this.width property. I originally had a line this.width += 10; in the onclick but quickly realised why this wasn't working because the this in the onclick function refers to the new button object and not the this.width property of anyObj.
The workaround I have used, and it works, is to make a copy of all the this.xxxxx properties. eg. width = this.width; and use the width variable in the onclick as you can see below. This "workaround" works fine but doesn't feel ideal to me.So, what I am asking advice on is, is there a better way to access the anyObj()'s properties from within the onclick function than the way I have done it? Obviously I would prefer to not have to make copies of all the anyObj() properties like I have to make them accessible to the onclick function.
Code:
function anyObj(divObj){
this.elem = divObj;
this.width = 50;
[code]....
View 2 Replies
ADVERTISEMENT
Apr 1, 2011
I am fairly familiar with the concept of Objects and their properties and methods, but javascript being object based as opposed to object oriented has me stumped on how to access an object's properties from an onclick event handler created for another object created within the original object.
In the example below, I have a constructor function called anyObj. to which I pass an object reference to an element.
anyObj has 3 properties and one function increaseWidth()
increaseWidth() creates a new button with an onclick event handler and this is where I have a problem.
The onclick function needs to increase the value of anyObj's this.width property. I originally had a line this.width += 10; in the onclick but quickly realised why this wasn't working because the this in the onclick function refers to the new button object and not the this.width property of anyObj.
The workaround I have used, and it works, is to make a copy of all the this.xxxxx properties. eg. width = this.width; and use the width variable in the onclick as you can see below. This "workaround" works fine but doesn't feel ideal to me.
So is there a better way to access the anyObj()'s properties from within the onclick function than the way I have done it? Obviously I would prefer to not have to make copies of all the anyObj() properties like I have to make them accessible to the onclick function.
function anyObj(divObj){
this.elem = divObj;
this.width = 50;
this.height = 50;
[Code]....
View 5 Replies
View Related
Jan 25, 2010
I have an object on the document element that allows for other components to register with it, i have a custom event something along$(document).bind("register",function(thechild)..So in the child object when they are created i call$(document).trigger("register",this);And indeed i get the DOM object. However i'm looking for the plug in object, i want to be able to call methods on the passed childobject and access it's Config.Does that make sense? How can i write a plug in that is applied to various objects that also registers itself with an 'overseer' object on the document element in such a way that i can allow that overseer object to call methods on any registered child objects?
View 2 Replies
View Related
Aug 17, 2010
semi-misleading title, but i just didn't know a better way to explain my problem.Given the object:
Code:
// js object
var object = {
[code]....
View 4 Replies
View Related
Nov 13, 2009
how to add extra properties to html elements as I was storing data in html attributes. After looking at some others code including Raphael and this addEvent code. [URL] They seem to treat objects just like an array. obj[property] = value; This would have been extremely helpful to know previously as I have needed to be able to include variables in property names - but have resorted to making the whole thing a string and calling exec() on it.
View 2 Replies
View Related
Feb 16, 2011
I found the tutorial on the W3C website for AJAX and it's great, it gives the following code
Code:
<script type="text/javascript">
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
[Code]...
I'm curious to know if it's possible to just use code from within the same file instead of accessing 'getuser.php'? If so, how?
View 5 Replies
View Related
Aug 6, 2010
I have developped a script in order to resize the height of a div on a web page in order to display it at least up to the size of the window.
Here is the code:
It works well, but I was wondering why I am not able to get the padding-top and -bottom using these two instructions:
The script runs but Firebug shows empty strings for both values. How come? Is there a bug in Firefox?
View 3 Replies
View Related
Jul 5, 2006
I have 1 form, and dozens of elements. In the select elements I use onchange="somefunc()". In this function I'd like to access and change the form element attributes (such as form.element.option[].value and form.element.option[].innerHTML).
Is there a way to access the element that has just changed (unsing onchange="somefunc()") by passing a "this.element" parameter to access the elements properties such as form.element.option[].value within the function?
View 2 Replies
View Related
Mar 21, 2010
I am dynamically building a part of my HTML page by setting the innerHTML of a DIV element. Immediately after I do that I try to retrieve the clientHeight and clientWidth of the DIV element in order to determine what height and width the element actually ended up being. But I always get 0 as both the height and width. The contents of the DIV, i.e. the HTML code that I inserted into it via the innerHTML, does indeed get displayed on the page. But I suspect that the browser doesn't actually update the page until AFTER my JavaScript code has completed and "returns control" to the browser.
Does that make sense? Is there any way I can force the browser to update the page BEFORE my code completes its processing, so that I can properly retrieve the width and height of the element I just inserted into the page?
View 2 Replies
View Related
Mar 20, 2010
I created a method for displaying an object's properties:
As long as renderfunction = false, the object is fine coming out of this function.
However, if I change renderfunction to true, all my properties become undefined. Why isn't this working as I expect it to?
View 1 Replies
View Related
Oct 5, 2011
I'm writing a program that involves a network of interconnected nodes (or simply objects in my example below). It depends on being able to access properties of an object's linked objects (a bit oddly worded, sorry)...Problem is I'm not sure how to properly access those properties... see below please.
<script>
//This is an example of a problem im having in my own code...
//I want to access the name of the object within the links array wintin the object...
[code]....
View 3 Replies
View Related
Jul 11, 2011
I'm trying to get the properties for the following objects:
0: [object Object]
1: [object Object]
2: [object Object]
3: [object Object]
This was generated by using the following code:
[Code]...
Since object names can't simply be a number ie(this.oProducts.Product.0), how can I access the object properties in the list above?
View 1 Replies
View Related
Sep 16, 2011
I have the following question.
In my code, Ifirstdeclare a GLOBAL property to store all my global var's in, (with already some properties)[code]...
Does the second block of code overrides the first GLOBAL object? Is there a way to push more properties to an existing object using the same pattern?
View 5 Replies
View Related
Sep 30, 2006
i'd like to know objects properties and/or methods.
saying i do have an object "o" being part of the dom (a div or an ul...)
how could i list (introspection) all the properties and methods attached
to this object ?
i know it is possible in javascript but don't remeber how to ...
View 6 Replies
View Related
Jan 17, 2011
Do many programmers remember most of the object properties and methods or do they use IDE or references to find those specific objects. I'm starting to learn Javascript and seeing all the different type of objects available can be depressing. :(
View 2 Replies
View Related
Jan 2, 2008
Say x in a XML Http Request Object ... meaning it's either XMLHttpRequest (firefox) or ActiveXObject (IE)
This line of code works in firefox...
x.someProp = "someValue";
alert(x.someProp);
But in IE I get "Object doesn't support this property or method" I need to place a custom property on the object. Is there any way I can do that in IE?
I've already tried ActiveXObject.prototype.someProp = "";
View 1 Replies
View Related
Mar 25, 2006
I've created an object and within this object, I've added an eventlistener. But the problem now is that after addEventListener is being called to access a callback function, the callback function is not able to access the properties within its own class. Code:
View 14 Replies
View Related
Jul 13, 2011
I have the empty object and two variables:
[Code]...
View 3 Replies
View Related
Aug 26, 2009
Code JavaScript:
function dropdown() {
}; dropdown.prototype = {
sele: $('.select'),
city: [],
scope: [],
type: [],
init: function(json) {
if(json.location.length) {
for(var i=0; i<json.location.length; i++) {
this.city[i] = json.location[i].city; .....
this.scope[i] = json.location[i].scope;
}}.....
getUrl: function() {
return location.pathname+location.search;
},
setUrl: function(paramType, param) {
return this.QueryString(paramType) ? this.setQueryString(paramType, param) : this.getUrl()+"&"+paramType+"="+param;
}};
View 2 Replies
View Related
Jul 23, 2005
Well, I've been working with JS for three years and have a great experience here. But! I still have no really acceptable answer to the following
question:
What is the principle difference between declaring methods/properties
in the constructor function body and via prototypes.
Are there any real GURUs? Let's discuss the issue.
View 2 Replies
View Related
Jul 23, 2005
In JavaScript 1.5, objects can use special getter and setter functions
[1] for properties. However, these only seem to be implemented in Gecko
and, AFAICT, don't seem to be part of ECMAScript.
Is there an alternative syntax I can use that is standardised in
ECMAScript and also (preferably) interoperably implemented in several
browsers? Or, do I have to use ordinary getFoo() and setFoo() functions. Code:
View 2 Replies
View Related
May 8, 2010
I want to programmatically list all properties of JS object from C++ code (I am using Mozilla's JSAPI). I know I can go up the prototype chain with JS_GetPrototype, then enumerate each object's own properties with JS_Enumerate.
View 7 Replies
View Related
Nov 24, 2009
I have an object: Myobject and properties for the object: Myobject.color, Myobject.width, Myobject.height The scripts returns TRUE if I query Myobject.color or Myobject.width etc. I want to loop through de properties like so:
Code:
var properties = ['color', 'width', 'height']
for (var i=0; i<properties.length; i++) {
Myobject.properties[i]; // Returns UNDEFINED
}
How to make it works? (Should returns TRUE)
View 5 Replies
View Related
May 14, 2006
I've got an image gallery in which users can navigate between the next and previous image by clicking on the right or left half respectively of the current image. When the mouse is over the left half an arrow pointing to the left is shown on the image and when on the right an arrow to the right. It works fine if i use inline javascript but i'm trying to achieve the same effect unobtrusively and with an addEvent function. The onmouseover part works fine but from the function that fires on the onmouseout event i get the following error in Firefox and the arrow is not hidden:
View 2 Replies
View Related
Dec 5, 2010
I don't know why but after the animate() function it's like all the properties get wiped.
PHP Code:
bubble.prototype.expand = function() {
var _this = this;
this.mLeft = parseInt($(this.div).css('margin-left').split('px')[0]);
this.mTop = parseInt($(this.div).css('margin-top').split('px')[0]);
this.iWidth = $(this.iconImg).width();//icons dimensions
this.iHeight = $(this.iconImg).height(); .....
View 1 Replies
View Related
Sep 22, 2006
Subject line would seem to say it all:
How does one trigger the execution of a method within an object or any
other code/function with the setting of an object property?
More elaboration for those who want it:
Suppose we have anObjectType, with a property .description, whose value
can be a string, and the value of .description actually describes the
structure of anObjectType as a string. (The details are not important
about how the structure is described, but if you want something concrete,
think of 'anObjectType' as a DOM Node of type NODE_ELEMENT, and
..description as the property .innerHTML.)
When an instance of anObjectType is created, the value of description is
created with the instance. Indeed, the value of description may not be
set with the construction of anObjectType, but it might be added to the
prototype of anObjectType.
But the property .description is not merely read-only. Fetching the value
of .description returns the string which describes the structure of the
object in a meaningful way.
When .description is set with a value of type string, the string is
checked to see if it properly describes a legally formed structured for
anObjectType, and the instance (and only that instance) of anObjectType is
completely re-built: it might possibly be destructed and then re-
constructed, or all properties (but not methods) which involve descendant
objects are changed to conform to the described structure.
The question is, the setting of a string value of the property
..description of object anObjectType does not automatically trigger a
method/methods (or an exception??) for doing something (such as
restructing the object) as a result of the setting of an object property.
View 3 Replies
View Related