Kenapa Harus JavaScript?
JavaScript adalah bahasa
(pemograman) yang hebat, meskipun cenderung sulit untuk dipahami, akan
tetapi kemampuan inti yang dimiliki oleh JavaScript sangat menarik untuk
didalami. dengan Javascript anda dapat membuat aplikasi - aplikasi
hebat seperti Google Maps. JavaScript telah merubah pandangan dunia
terhadap internet ( Web ).
Keunggulan javascript yang juga
dikenal dengan nama ECMAScript yaitu dapat berjalan di semua platform
dengan browser yang mendukung JavaScript, dan hampir semua platform dan
browser saat ini mendukung JavaScript. Contoh dari aplikasi yang
dibangun dengan JavaScript adalah Google Maps yang dapat berjalan di
atas Linux, Windows, dan Mac OS. JavaScript juga semakin dan terus
berkembang, seperti pertumbuhan pustaka (library) yang memudahkan untuk
menavigasi dokumen, memlilih elemen DOM, membuat animasi, menangani
event dan mengembangkan aplikasi Ajax. JavaScript adalah bahasa
pemograman client-side yang cross-platform (berjalan di banyak platform)
dan bersifat bebas (untuk dimodifikasi dan gratis tentunya) juga
diadopsi secara unversal.
Hal yang sebaiknya kamu tahu
JavaScript adalah bahasa pemograman yang mudah untuk di-implementasikan
dalam pembuatan program atau app. Anda hanya membutuhkan text editor
seperti notepad,notepad++ dan web browser untuk memulainya.
Terdapat banyak sekali yang dapat diintegrasikan dan dikembangkan ke
dalam JavaScript, Namun pada tutorial ini anda akan mempelajari dasar
terlebih dahulu, pertama anda membuat app sederhana terlebih dahulu,
bukan sekelas Google Maps, tidak mungkin itu terjadi pada hari pertama
belajar JavaScript!.
Pendahuluan
Untuk memulai belajar
JavaScript benar - benar sangat mudah. Anda tidak perlu repot - repot
menginstall software bahasa pemograman, anda juga tidak harus tahu
bagaimana menggunakan shell, pengetahuan membuat program atau
menggunakan compiler. JavaScript sudah terinterpretasi oleh web browser
anda. Hal yang perlu anda lakukan hanyalah menyimpan dokumen JavaScript
sebagai file text biasa kemudian jalankan di web browser. hanya itu!
JavaScript sangat cocok untuk mengenalkan anda pada bahasa pemograman
komputer, Penulisan JavaScript juga sama halnya dengan bahasa pemograman
C, C++ dan java, bahasa pemograman yang banyak kontribusinya dalam
bidang development.
Masalah Kompatibilitas Browser
There are variations between what functionality is available in the
different browsers. Mozilla, Microsoft IE, Apple Safari and Opera
fluctuate in the behavior. We intend on documenting these variations.
You can mitigate these issues by using the various cross platform
JavaScript APIs that are available. These APIs provide common
functionality and hide these browser fluctuations from you.
Bagaimana cara mencoba contoh
The examples below have some sample code. There are many ways to try
these examples out. If you already have your own website, then you
should be able to just save these examples as new web pages on your
website.
If you do not have your own website, you can save these
examples as files on your computer and open them up with the web browser
you are using now. JavaScript is a very easy language to use for
beginning programmers for this reason. You don't need a compiler or a
development environment; you and your browser are all you need to get
started!
Contoh: Menangkap event klik mouse
The specifics of
event handling (event types, handler registration, propagation, etc) are
too extensive to be fully covered in this simple example. However this
example cannot demonstrate catching a mouse click without delving a
little into the JavaScript event system. Just keep in mind that this
example will only graze the full details about JavaScript events and
that if you wish to go beyond the basic capabilities described here to
read more about the JavaScript event system.
'Mouse' events are a
subset of the total events issued by a web browser in response to user
actions. The following is a list of the the events emitted in response
to a user's mouse action:
Click - issued when a user clicks the mouse
DblClick - issued when a user double-clicks the mouse
MouseDown - issued when a user depresses a mouse button (the first half of a click)
MouseUp - issued when a user releases a mouse button (the second half of a click)
MouseOut - issued when the mouse pointer leaves the graphical bounds of the object
MouseOver - issued when the mouse pointer enters the graphical bounds of the object
MouseMove - issued when the mouse pointer moves while within the graphical bounds of the object
ContextMenu - issued when the user clicks using the right mouse button
The simplest method for capturing these events, to register event
handlers - using HTML - is to specify the individual events as
attributes for your element. Example:
<span onclick="alert('Hello World!');">Click Here</span>
The JavaScript code you wish to execute can be inlined as the attribute
value or you can call a function which has been defined in a
<script> block within the HTML page:
<script type="text/javascript">
function onclick_callback () {
alert ("Hello, World!");
}
</script>
<span onclick="onclick_callback();">Click Here</span>
Additionally, the event object which is issued can be captured and
referenced; providing the developer with access to specifics about the
event such as which object received the event, the event's type, and
which mouse button was clicked. Using the inline example again:
<script type="text/javascript">
function onclick_callback(event) {
var eType = event.type;
/* the following is for compatability */
/* Moz populates the target property of the event object */
/* IE populates the srcElement property */
var eTarget = event.target || event.srcElement;
alert( "Captured Event (type=" + eType + ", target=" + eTarget );
}
</script>
<span onclick="onclick_callback(event);">Click Here</span>
In addition to registering to receive events in your HTML you can
likewise set the same attributes of any HTMLElement objects generated by
your JavaScript. The example below instantiates a span object, appends
it to the page body, and registers the span object to recieve
mouse-over, mouse-out, mouse-down, and mouse-up events.
<script type="text/javascript">
function mouseevent_callback(event) {
/* The following is for compatability */
/* IE does NOT by default pass the event object */
/* obtain a ref to the event if one was not given */
if (!event) event = window.event;
/* obtain event type and target as earlier */
var eType = event.type;
var eTarget = event.target || event.srcElement;
alert(eType +' event on element with id: '+ eTarget.id);
}
function onload () {
/* obtain a ref to the 'body' element of the page */
var body = document.body;
/* create a span element to be clicked */
var span = document.createElement('span');
span.id = 'ExampleSpan';
span.appendChild(document.createTextNode ('Click Here!'));
/* register the span object to receive specific mouse events */
span.onmousedown = mouseevent_callback;
span.onmouseup = mouseevent_callback;
span.onmouseover = mouseevent_callback;
span.onmouseout = mouseevent_callback;
/* display the span on the page */
body.appendChild(span);
}
</script>
Draft
This page is not complete.
Contoh: Menangkap event dari keyboard
Similar to the "Catching a mouse event" example above, catching a
keyboard event relies on exploring the JavaScript event system. Keyboard
events are fired whenever any key is used on the keyboard.
The
list of available keyboard events emitted in response to a keyboard
action is considerably smaller than those available for mouse:
KeyPress - issued when a key is depressed and released
KeyDown - issued when a key is depressed but hasn't yet been released
KeyUp - issued when a key is released
TextInput (available in Webkit browsers only at time of writing) -
issued when text is input either by pasting, speaking or keyboard. This
event will not be covered in this article.
In a keypress event,
the Unicode value of the key pressed is stored in either the keyCode or
charCode property; never both. If the key pressed generates a character
(e.g. 'a'), charCode is set to the code of that character, respecting
the letter case. (i.e. charCode takes into account whether the shift key
is held down). Otherwise, the code of the pressed key is stored in
keyCode.
The simplest method for capturing keyboard events is
again to register event handlers within the HTML, specifying the
individual events as attributes for your element. Example:
<input type="text" onkeypress="alert ('Hello World!');"></input>
As with mouse events, the JavaScript code you wish to execute can be
inlined as the attribute value or you can call a function which has been
defined in a <script> block within the HTML page:
<script type="text/javascript">
function onkeypress_callback () {
alert ("Hello, World!");
}
</script>
<input onkeypress="onkeypress_callback();"></input>
Capturing the event and referencing the target (i.e. the actual key
that was pressed) is achieved in a similar way to mouse events:
<script type="text/javascript">
function onkeypress_callback(evt) {
var eType = evt.type; // Will return "keypress" as the event type
var eCode = 'keyCode is ' + evt.keyCode;
var eChar = 'charCode is ' + evt.charCode;
alert ("Captured Event (type=" + eType + ", key Unicode value=" + eCode + ", ASCII value=" + eChar + ")");
}
</script>
<input onkeypress="onkeypress_callback(event);"></input>
Capturing any key event from the page can be done by registering the event at the document level and handling it in a function:
<script type="text/javascript">
document.onkeypress = key_event(event);
document.onkeydown = key_event(event);
document.onkeyup = key_event(event)
function key_event(evt) {
var eType = evt.type;
var eCode = "ASCII code is " + evt.keyCode;
var eChar = 'charCode is ' + evt.charCode;
alert ("Captured Event (type=" + eType + ", key Unicode value=" + eCode + ", ASCII value=" + eChar + ")");
}
</script>
Here is a complete example that shows key event handling:
<!DOCTYPE html>
<html>
<head>
<script>
var metaChar = false;
var exampleKey = 16;
function keyEvent(event) {
var key = event.keyCode || event.which;
var keychar = String.fromCharCode(key);
if (key==exampleKey) { metaChar = true; }
if (key!=exampleKey) {
if (metaChar) {
alert("Combination of metaKey + " + keychar)
metaChar = false;
} else { alert("Key pressed " + key); }
}
}
function metaKeyUp (event) {
var key = event.keyCode || event.which;
if (key==exampleKey) { metaChar = false; }
}
</script>
</head>
<body onkeydown="keyEvent(event)" onkeyup="metaKeyUp(event)">
</body>
</html>
Bug dari browser dan quirks
The two properties made available through the key events are keyCode
and charCode. In simple terms, keyCode refers to the actual keyboard key
that was pressed by the user, while charCode is intended to return that
key's ASCII value. These two values may not necessarily be the same;
for instance, a lower case 'a' and an upper case 'A' have the same
keyCode, because the user presses the same key, but a different charCode
because the resulting character is different.
The way in which
browsers interpret the charCode is not a consistently-applied process.
For example, Internet Explorer and Opera do not support charCode.
However, they give the character information in keyCode, but only
onkeypress. Onkeydown and -up keyCode contains key information. Firefox
uses a different word, "which", to distinguish the character.
Refer to the Mozilla Documentation on Keyboard Events for a further treatment of keyboard events.
Draft
This page is not complete.
Contoh: Memindahkan gambar
The following example allows moving the image of firefox around the page.
<!DOCTYPE html>
<html>
<head>
<style type='text/css'>
img { position: absolute; }
</style>
<script type='text/javascript'>
window.onload = function() {
movMeId=document.getElementById("ImgMov");
movMeId.style.top = "80px";
movMeId.style.left = "80px";
document.onmousedown = coordinates;
document.onmouseup=mouseup;
function coordinates(e) {
if (e == null) { e = window.event;}
var sender = (typeof( window.event ) != "undefined" ) ? e.srcElement : e.target;
if (sender.id=="ImgMov") {
mouseover = true;
pleft = parseInt(movMeId.style.left);
ptop = parseInt(movMeId.style.top);
xcoor = e.clientX;
ycoor = e.clientY;
document.onmousemove=moveImage;
return false;
} else {
return false;
}
}
function moveImage(e) {
if (e == null) { e = window.event; }
movMeId.style.left = pleft+e.clientX-xcoor+"px";
movMeId.style.top = ptop+e.clientY-ycoor+"px";
return false;
}
function mouseup(e) {
document.onmousemove = null;
}
}
</script>
</head>
<body>
<img id="ImgMov" src="http://mozcom-cdn.mozilla.net/…/about/logo/do…/logo-only.png" width="64" height="64" />
<p>Drag and drop around the image in this page.</p>
</body>
</html>
Ada Berita Apa?
Monggo Disimak...
Pengenalan Javascript (dalam tutorial)
Terima Kasih Telah Berkunjung Ke Blog Saya.
Semoga Bermanfaat
Semangat Selalu, Salam Ukhuwah Fillah :)
0 komentar:
Posting Komentar