Моля гласувайте за нас във БГтоп. | Малки обяви | e-torial.com - най-евтиното убочение
Всичко за парите от интернет
Регистрирайте се и ще получите ценни съвети и начини да печелите от Интернет.
Напълно безплатно е,и отнема 2 минути!И ако намирате форума за полезен моля гласувайте за нас БГТОП
Всичко за парите от интернет

Този форум е посветен на всеки, който желае да изкарва пари от интернет и е готов да вложи времето и знанията си в това начинание. Няма да ви кажа, че е супер лесно и бързо да се изкарват пари от интернет, но ще ви покажа стъпка по стъпка как да направите
 
ИндексИндекс  PortalPortal  CalendarCalendar  GalleryGallery  Въпроси/ОтговориВъпроси/Отговори  ТърсенеТърсене  ПотребителиПотребители  Потребителски групиПотребителски групи  Регистрирайте сеРегистрирайте се  ВходВход  Моля Гласувайте за насМоля Гласувайте за нас  
Social bookmarking
Social bookmarking Digg  Social bookmarking Delicious  Social bookmarking Reddit  Social bookmarking Stumbleupon  Social bookmarking Slashdot  Social bookmarking Yahoo  Social bookmarking Google  Social bookmarking Blinklist  Social bookmarking Blogmarks  Social bookmarking Technorati  

Bookmark and share the address of Всичко за парите от интернет on your social bookmarking website
Most Viewed Topics
20 изпитани начина за доходи от интернет
Инсталиране на Windows 7 или Windows Vista от USB флашка
Пари с изпращане на SMS
Как да прехвърляме файлове между два компютъра без мрежова карта, използвайки паралелния (принтерски) порт. Кабел за връзка.
КАК ДА ИЗТРИЯ ПРОГРАМА ОТ БРАУЗЪРА
Висококачествени аудиокурсове - немски, френски и английски
Как да ремонтираме компютърно дъно с повреда в DC/DC стабилизатора на напр.
Какво мислите за Образованието в България
как се работи с corel draw
Продавам безжична клавиатура с вградена мишка.
Latest topics
» THWGlobal.com
by v5901 Съб Окт 01, 2016 12:29 pm

» Изкарвайте пари докато спеделяте продуктите, който харесвате
by Admin Сря Сеп 23, 2015 2:16 pm

» Безплатна книга за оптимизация на страници
by Admin Пон Апр 20, 2015 11:46 pm

» Изкарвайте пари от знанията си
by Admin Нед Дек 14, 2014 2:14 pm

» Писане на авторски статии
by Admin Пет Юли 11, 2014 3:54 am

» Спечели лесни 10 долара в Пейпал
by eminemka91 Пет Юни 20, 2014 7:30 pm

» Пари от къщи, само с копи и пейст от amazon в eBay
by DropShipper F Пон Апр 21, 2014 11:47 pm

» ПЕЧЕЛЕТЕ ОТ ДО $3000 МЕСЕЧНО
by pacony Чет Дек 26, 2013 10:25 am

» Евтин Wordpress сайт за имоти - готов за ползване
by Admin Нед Сеп 22, 2013 1:21 pm

» Изкарайте пари от няколко цъкания на ден за максимум 10 минути !!!
by askataaa Пон Авг 12, 2013 5:03 am

Приятели
Смешни вицове,снимки и карикатури

Share | 
 

 Unobtrusive JavaScript Event Handling

Предишната тема Следващата тема Go down 
АвторСъобщение
TheGamer

avatar

Posts : 122
Points : 300
Reputation : 22
Join date : 08.12.2009

Character sheet
game:

ПисанеЗаглавие: Unobtrusive JavaScript Event Handling   Съб Яну 02, 2010 5:07 pm

През последните 2-3 години, с навлизането в така наречения Web 2.0, се заговори много не само за разделяне на презентацията на един сайт от неговата структура, но също и пълно отделяне на функционалността от структурата. Второто се постига с една техника, която се нарича unobtrusive javascript, и идеята, която стои зад нея е, че един сайт трябва да може да работи и ако посетителят му е изключил javascript на своя браузър, а също, че html елементите трябва да съдържат в себе си само html атрибути, но не и javascript ивент като onclick, onmouseover, onmouseout, onsubmit, onkeyup, onkeydown, onreset и т.н. Това се постига чрез така наречените ивент handler-и и чрез документно-обектния модел (DOM). Тук, разбира се идва интересната и предизвикателна част - различните рендъринг енджини на браузърите, а именно Trident (Internet Explorer), Gecko (Mozilla Firefox, Netscape, Safari, Seamonkey) и Opera (Opera) предоставят различни методи за ивент хендлинг, а също и различни имена на самите ивент хендлъри - при Internet Explorer методът се нарича attachEvent(type, listener) а при всички останали - addEventListener(type, listener, usecapture), където:
"type" e името на ивент хендлъра, който при Internet Explorer е наследил оригиналното си име - onclick, onmouseover, onmouseout, onsubmit, onkeyup, onkeydown, onreset, но при Gecko и Opera, тези ивенти са без префикса "on", т.е. click, mouseover, mouseout, submit, keyup, keydown, reset и т.н;
"listener" - името на функцията, или самата функция;
"usecapture" - boolean (true или false) атрибут само за Gecko браузъри;
Искам да ви покажа една функция, която бях написал преди време, която поддържа и двата метода за ивент хендлинг, без да се налага да се прави проверка за браузъри и да се пише функционалност на две места:


function setEventHandler(ElementId, EventType, ClientFunction, UseCapture)
{
var ClientEventType;
if(window.attachEvent)
{
ClientEventType = 'on' + EventType;
document.getElementById(ElementId).attachEvent(ClientEventType, ClientFunction)
}
else
{
document.getElementById(ElementId).addEventListener(EventType, ClientFunction, UseCapture);
}
}


...където аргументите на функцията setEventHandler означават:
"ElementId" - ID на html елемента, на който искаме да "закачим" събитие.
"EventType" - тип на събитието, които може да бъде всеки ивент хендлър, но без префикса "on", т.е. click, focus, blur, mouseup, mousedown, submit, reset, keyup, keydown и т.н.
"ClientFunction" - функцията, която ще се файърва при извършване на дадено действие върху дадения елемент;
"UseCapture" - bubbling events, или useCapture за Gecko.
Ето и едно малко примерче, което демонстрира постигането на unobtrusive javascript event handling с горната функция:
HTML:

Javascript (в ... секцията на страницата, или във външен .js файл):


// universal function for unobtrusive event handling
function setEventHandler(ElementId, EventType, ClientFunction, UseCapture)
{
var ClientEventType;
if(window.attachEvent)
{
ClientEventType = 'on' + EventType;
document.getElementById(ElementId).attachEvent(ClientEventType, ClientFunction)
}
else
{
document.getElementById(ElementId).addEventListener(EventType, ClientFunction, UseCapture);
}
}

// common pageload events
window.onload = function()
{
/* other common pageload events */
// set unobtrusive event handling for the "AlertButton"
setEventHandler('AlertButton', 'click',
function(e)
{
alert('Button was Clicked!');
}, false)
}
Върнете се в началото Go down
Вижте профила на потребителя
 

Unobtrusive JavaScript Event Handling

Предишната тема Следващата тема Върнете се в началото 
Страница 1 от 1

Permissions in this forum:Не Можете да отговаряте на темите
Всичко за парите от интернет :: Програмиране-
Free forum | © phpBB | Free forum support | Връзки | Report an abuse | Create a blog