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



15-Dars JavaScript - Ходисани камраб олиш

§ Ходисани камраб олиш

Java S тилининг асосий хусусиятларидан бири ходисани камраб олишдир.
Масалан, агар кимдир тугмачани туртса у холда шу тугмачага мос onclick ходисасини ишловчи дастур чакирилади. Сиз ходисаларни ишлаш ёрдамида дарча, документ ёки каватга мос курсатилган тугмача объктнинг ходисасини ишловчи чакирилишига кадар ходисаларни ишлаш ва камраб олишга эришасиз. Худди шундай сизнинг дарчангиз, документингиз ёки каватингиз объекти узининг оддий адресини топгунга кадар ходиса хакида сигнални ишлаш мумкин. Бу нимага кераклигини куйидаги мисол ёрдамида курайик:
Html
Head
Script Language = “JavaScript”
Window.Capture Events (Event.click);
Window.onclick = haudle;
Function.haudle (L) {
Alert (“window объекти бк ходисани камраб олади!”);
Return true;
}
</script>
</head>
<body>
<a href = “test.htm”> “Кликните” по этой ссылке; </a>
</body>
</html>
Куриб турганингиздай бу <a> тегда ходисани ишловчи дастурни курсатмаймиз. Бунинг урнига
Window.Capture Events (Event.click);
Сатрни window объектини click ходисаси камраб олиши учун ёзилади. Одатда window объекти click ходисаси билан ишламайди. Бирок караб олиб у кайтадан уни window объкутига йуллайди.
Шуни эътиборга олиш керакки Event.click даги click фрагменти бош харфлар билан ёзилиши керак. Агар сиз бир неча ходисаларни камрашини истасангиз у холда сизга уларни бир биридан / белгилари оркали ажратишингиз керак булади. Масалан:
Window.Capture Events (Event.click/Event.move);
Haudle ( ) функциясида ходисани ишлаш дастури сифатида return true дан фойдаланамиз. Бу хакикатдан шуни англатадики, haudle ( ) функцияси тамом булгандан сунг браузер мурожатнинг узини ишлаб чикиш керак. Агар сиз унинг урнинга return false ёзсангиз шу ернинг узида барчаси тамом булади. Агар энди сиз <a> теги onclick ходисасини ишловчи дастур берсангиз, у холда ушбу ходисани руй беришида жорий дастур чикарилмаслигини тушуниб етасиз. Хайрон коларли жойи йукки, window объекти link объектига эга булгунга кадар, у ходиса хакида сигнални кулга киритади. Албатта агар сиз haudle ( ) функцисини куйидагича аниклаймиз:
Function haudle (l) {
Alert (“window объекти ушбу ходисани кулга киритади”);
Window.route Event (l);
Return true;
}
R узгарувчиси Event объекти хисобланади.
Бундан ташкари сиз ихтиёрий объектга бевосита сигнал юборишингиз мумукин. Бунинг учун сиз haudle Event ( ) усулидан фойдаланишимиз мумкин. Бу куйидаги куринишда булади. Бу куйидагича куринишда булади:
<html>
<Script Language = JavaScript>
window.Carture Events (Event.click);
window.onclick = haudle;
f unction haudle (l) {
document links (l);
}
</script >
<a href = “test.htm”> “Кликните” по этой ссылке </a> <br>
<a href = “test.htm”>
onclick = “a href (‘2 чи мурожат учун ходиса ишловчи!’);”>
2 чи мурожат </a>
</html>
Агар сиз хеч бир мурожатни туртмаган булсангиз хам click ходисасидаги силжаллар 2 чи мурожатни ишлаш учун юборилади.
Навбатдаги скрипт тугмача босилишидаги силжалларни сизнинг скриптингиз кандай силжишини намоён килади:
<html>
<Script Language = JavaScript>
window.Carture Events (Event.keypress);
window.keypress = pressed;
f unction pressed (l) {
alert (“keyp ressed! ASCII – value:” +l.which)
}
</script>
</html>

Share