Паролингизни унутдингизми?
Login
Left, Right, Center Left, Center, Right Center, Left, Right



14-Dars JavaScript - Кисм javascript 1.2 да ходисалар модеми

Кисм javascript 1.2 да ходисалар модеми

Янги ходисалар
Javas 1.2 куйидаги ходисаларни кайта ишлашни куллаб куватлайди:
Abort Dblclick Keydown Mousedown Mouseup Select
Blur DragDrob KeyPress Mousemove Move Submit
Click Error Keyup Mouseout Reset Unload
Change Fox Load Mouseover Resize
Жадвални урганиш давомида куришимиз мумкинки бу янги ходисаларнинг бир нечтаси руёбга чикарилган. Биз бу кисмда уларнинг бир нечтасини куриб чикамиз. Датлаб resize ходисасини курайлик. Ушбу ходиса ёрдамида дарча улчами укувчи томонидан узгартирилганини аниклашингиз мумкин. Куйидаги скрипт буни кандай килишни курсатади:

<html>
<head>
<script language = “ JavaScript ” >
window.onresize = message;
function message ( ) {
alert (“дарча улчами узгартирилди”);
}
</script>
</head>
< body>
Илтимос бу дарча учамини узгартиринг
</body>
</html>
window.onresize = message Сатрида биз уша ходиса процедурасини берамиз. Аникрок килиб айтганда фойдаланувчи дарча улчамини узгартирганидан дарров ушбу message ( ) функцичси чакирилади. Эхтимол сиз ходисаларни кайта ишловчи программаларни бундай тарзда бериш билан топип билмасангиз керак. Бирок бу ерда хеч кандай янгилик йук. Масалан, агар сизда button объекти бор булса, бу ходисани кайта ишлаш процедурасини куйидаги тарзда аниклаш мумкин.
<form name = “my form” >
<input type = “button” name = “my button”onclick = “alert (‘дарча улчами узгартирилди’ )”>
</form>
Бирок сиз буни яна бир бошка куринишда беришингиз мумкин:
<form name = “my form” >
<input type = “button” name = “my button”>
</form>
-----
<script language = “JavaScript”>
document.myform.mybutton.onclick = message;
function pressage ( ) {
alert+ (‘дарча улчами узгартирилди!’);
}
</script>
Уйлаш мумкинки 2 чи вариант бироз мураккаброк. Лекин нима учун биз айнан ундан 1 чи скриптда фойдаландик? Сабаби шундаки биз window объектини бирор бир аник тег ёрдамида аниклай олмаймиз ва шунинг учун биз 2 чи вариантни куллашимизга тугри келади. 2 та мухим эслатма: 1 – дан window.onResize деб ёзмаслигингиз керак балки барчасини катта харфлар билан ёзиш керак. Агар сиз window.onResize = message ( ) деб ёзсангиз браузер message( ) ни функция чикарувчи деб кабул килади. Лекин бизнинг холатда биз функцияни тугридан – тугри чикаришни хохлаймиз, факат ходисаларни кайта ишловчини аниклаб куймокчимиз.
Event объекти.
Java S1.2 тилига янги event объекти кушилган. У узида бирор ходисани ёзиб борувчи хусусиятга эга. Хар сафар бирор ходиса юз берганда event объекти мос кайта ишловчи дастурга юборилади.
Навбатдаги мисолда экранга бирор бир тасвир чикарилади. Сиз унинг каергадир сичконча курсаткичи билан туртишингиз мумкин. Натижада экранда сичконча жорий вактда турган нуктасининг координаталари курсатилган хабар чикади.
<layer>
<a href = “ # ” onclick = “alert(‘x:’ +event.x+’y:’+event y); return false;”>
<img src = davinci.jpg “width = 209 height = 264 border = 0”>
</a>
</layer>
куриб турганингиздай JavaS нинг олдинги версияларида бажарганимиздагидек <a> тэгда onclick ходисани кайта ишловчи программани жойлаштирдик. Бу ерда янги булиб event.x ва event.y лар билан яратилган хабар дарчаси хисобланади. Худди шунинг узи бизга сичконча координаталарни аниклаб берувчи бизга керак булган event объектида. Бундан ташкари мен барча буйрукларни <layer> тэгига жойлаштирдим. Шу туфайли биз жорий каватга нисбатан яъни бизнинг холатда тасвирнинг узига нисбатан координаталар хакидаги хабарни кобул киламиз. Акс холда биз браузер дарчасига нисбатан координаталар олган булар эдик. (return false инструкцияси бу ерда браузер жорий мурожатни узокрок кайта ишлаш учун фойдаланилган).
Event объекти куйидаги хусусиятларга эга:
Data – DragDrop ходисаси юз берганда тухтатилган объектларнинг URL адреслар массиви.
Layer x Каватга нисбатан курсаткичнинг горизонтал холати (нукталарда) resize ходисаси билан биргаликда бу хусусият браузер дарчаси кенглигини билдиради.
Layer y Каватга нисбатан курсаткичнинг вертикал холати (нукталарда) resize ходисаси билан биргаликда бу хусусият браузер дарчаси баландлигини билдиради.
Modifiers Модификатор калитини берувчи сатр – alt_Mask, control_mask, meta_mask ёки saift_mask .
Page x Браузур дарчасига нисбатан курсаткичнинг горизантал холати ( нукталарда )
Page y Браузур дарчасига нисбатан курсаткичнинг вертикал холати (нукталарда)
Screen x Экранга нисбатан курсаткичнинг горизантал холати. (нукталарда)
Screen у Экранга нисбатан курсаткичнинг вертикал холати. (нукталарда)
Target Дастлаб ходиса юборилган объектни намоён килувчи сатр.
Type Ходиса тилини курсатувчи сатр.
Which Сичконча ёки тугмачанинг ASCII киймати.
Х layer x синоними
У layer у синоними

 

Share