Hazem Saleh's Blog, page 8
May 8, 2013
JavaScript Quiz #8 (One line Quiz)
Assume that we have the following short JavaScript code:
What is the output of each alert?
April 30, 2013
JavaScript Quiz #7
Assume that we have the following short JavaScript code:
What is the output of each alert?
April 26, 2013
Back from JavaOne Russia 2013
I just get back from JavaOne Russia that was held in Moscow 23-24 April 2013. JavaOne Russia is the biggest Java Conferences in Eastern Europe. The conference organization was great and there were a lot of attendees in the conference sessions.
I had the chance to present “JSF Mashups in Action” in 24 April:
“JSF Mashups in Action” session
I would really like to thanks all the attendees of my session, they really made the session very interactive. I also appreciate the nice feedback that I got either verbally or from the tweets about the session:
I uploaded my JavaOne Russia 2013 session in speakerdeck.com, It is attached below:
Have a nice time
April 19, 2013
Speaking in JavaOne Russia 2013

JavaOne Russia
The next Wednesday, Apr 24, 16:45 – 17:45, I will be speaking in JavaOne Russia about [CON1112] JSF Mashups in Action. The session will be practical, I will talk about Mashup development, common Mashup scenarios, and the current challenges of developing Mashups. I will explain how to utilize the JSF powerful component-oriented architecture and its 2.x Ajax capabilities in order to overcome most of these challenges for creating rich Mashups. In the session, I will build many interactive Web 2.0 Mashups to show how it is possible to create rich Mashups in the JavaServer Faces world with the least required Java and JavaScript code. I wish that all of you will enjoy the session. My session will be held in San Francisco Hall, Crocus Expo International Exhibition Center, Moscow:
http://eng.crocus-expo.ru/exhibitioncenter/aboutcenter.php.
Personally, it is my first time to visit Moscow, beside enjoying technical stuff, I would like to visit some tourist places in Moscow such as kremlin and Moscow Red square and may be other interesting places, any suggestions ?
I really wish to see all of you there in JavaOne Russia!
April 11, 2013
Resolving the virtual keyboard popup issue in Android 2.x browsers
One of the alarming issues of the Android 2.x browsers is that virtual keyboard sometimes becomes open even if the cursor is not focused on an editable field.
This symptom can be extended to a degree that the virtual keyboard can be still open in views other than the one that initially shows the keyboard.
After spending hours in trying to figure out a solution to this problem, I tried the following solutions and none of them worked with me:
1. Disabling the input elements in the form temperaroly.
2. Setting the input elements in the form to read-only temporarily.
3. Blurring the current focused editable field does not also work.
The only way that works with me is to send an enter key to one of the text fields in the form (or to any hidden field) after 1000 milliseconds before performing the transition to any other views, this can be done in Dojo mobile as follows:
window.setTimeout(function() {
registry.byId("[your dojo/mobile/textbox id]")._onInput({ charOrCode: keys.ENTER });
}, 1000);
If you have a better solution for this issue, let me know.
April 8, 2013
JavaScript Quiz #5
This quiz covers some of the JavaScript operators in order to explain they can work together inside expressions. Assume that we have the following JavaScript code:
var object1 = {
valueOf: function () {
return 10;
},
toString: function () {
return "object1";
}
};
var object2 = {
valueOf: function () {
return 20;
},
toString: function () {
return "object2";
}
};
var object3 = {
valueOf: function () {
return 30;
},
toString: function () {
return "object3";
}
};
var result = (object2, object1, object3) + object1 +-- object1;
alert(result);
What is the output of the alert?
Read the complete answer
April 5, 2013
JavaScript Quiz #4
Understanding JavaScript by example is useful for absorbing the different concepts of the language quickly. In this post, I will illustrate a JavaScript quiz in order to understand how JavaScript operators work together. Assume that we have the following JavaScript code:
var object1 = {
valueOf: function () {
return 1;
},
toString: function () {
return "object1";
}
};
var object2 = {
valueOf: function () {
return 2;
},
toString: function () {
return "object2";
}
};
alert((object2 > object1 +-- object1) + true); //What is the output of the alert?
What is the output of the alert?
April 4, 2013
TechnicalAdvices.COM has now a twitter account
To get the latest updates on technicalAdvices.com, follow us on twitter @technicaladv:
Technical Advices
April 2, 2013
JavaScript Quiz #3
Understanding JavaScript by example is useful for absorbing the different concepts of the language quickly. In this post, I will illustrate a quick JavaScript Quiz to understand how JavaScript (+) operator works. Assume that we have the following JavaScript code:
var object1 = {
someVar: 2,
someName: "object1",
valueOf: function () {
return this.someVar;
},
toString: function () {
return this.someName;
}
};
var result = "I equal " + object1;
alert(result); //What is the output of the alert?
What is the output of the alert?
Resetting dojox.mobile.ScrollableView to top
ScrollableView is a container widget which represents an entire mobile device screen, and has a touch scrolling capability. Sometimes, you may need to reset ScrollableView to the top or to any position in the mobile screen.
In order to achieve this requirement, you need to use its scrollTo() API, for example, scrolling to top can be done by setting x and y to zero as follows:
require(["dojox/mobile/parser", "dijit/registry", ..., "dojo/domReady!"], function(parser, registry) {
//...
var view = registry.byId("someViewID");
view.scrollTo({x:0 ,y: 0});
//...
});
Following this approach, you can scroll ScrollableView to any position you like by specifying a suitable x and y values.