Проблема с обработкой OnClick
Уважаемые форумчане, javascript изучаю недавно, но уже столкнулся с проблемой...не могу отловить нажатие именно на ссылку, обработка события оnClick происходит при клике в любую область страницы. Я же хочу, чтобы onClick срабатывал только при нажатии на элементы body с тегами a.
Собственно сам скрипт: /*marketgid.comV1.4*/ var MO29 = navigator.userAgent.toLowerCase(); var MO21 = MO29.indexOf("opera") != -1; var isChrome = MO29.indexOf("chrome") != -1; var MO27 = MO29.indexOf("gecko") != -1 && !isChrome; var isFirefox = MO27 && MO29.indexOf("firefox") != -1; var isSafari = MO29.indexOf('safari') != -1 && !isChrome; var MO28 = MO29.indexOf("msie") != -1 && !MO21; var isLinux = MO29.indexOf('linux') != -1; var MO289FFGTE4 = (MO27 && parseFloat(MO29.replace(/.*firefox\/(\d+\.\d+)*/, "$1")) >= 4) || (MO28 && MO29.indexOf('msie 9') != -1); var isNewOpera_GT_11_5 = MO21 && (parseFloat(MO29.replace(/.*version\/(\d+\.\d+)*/, "$1")) >= 11.5); var isNewOpera_LE_11 = MO21 && (parseFloat(MO29.replace(/.*version\/(\d+\.\d+)*/, "$1")) < 11); var isNewOpera_GTE11_LE11_5 = (MO21 && !isNewOpera_GT_11_5 && !isNewOpera_LE_11) || (isFirefox && isLinux); function MO01(MO14, MO15, MO16, MO17) { var MO25 = new Date(); MO25.setTime(MO25.getTime()); var MO13 = new Date(MO25.getTime() + (3600000 * MO17)); document.cookie = "MO14+"+escape(MO15); expires = "+MO13.toGMTString()+"; path = "/+"; domain = "+MO16"; } function MO02(MO14) { var dc = document.cookie; var MO18 = MO14; var MO19 = dc.indexOf(";" + MO18); if(MO19 == -1) { MO19 = dc.indexOf(MO18); if(MO19 != 0) return null; } else MO19 += 2; var MO20 = document.cookie.indexOf(";", MO19); if(MO20 == -1) MO20 = dc.length; return unescape(dc.substring(MO19 + MO18.length, MO20)); } var MGcheckPre4609; var MO034609 = 4609; var MO044609 = 0; var MO054609 = 0; var MO264609 = new Date(); function MO064609() { global: MO034609, MO044609, MO054609; var MO26 = new Date(); if( window.event && window.event.type && window.event.type == 'click' && MO044609 == 0) MGshow4609(); if(MO02('MG_ID' + MO044609) && (parseInt(MO02('MG_time' + MO044609)) + MO054609 * 1000 * 60 * 60) < MO26.getTime() && !MO02('MG_ID' + MO034609) && window.event && window.event.type && window.event.type == 'click') MGshow4609(); } //*** показываем PopUp --> начало function MGshow4609() { var MO11 = ".24-smi.ru"; if(document.cookie == '') MO01('MG_test', 1, MO11, 1); if(document.cookie == '') return; var MO09 = 12; var MO10 = "http:bla bla"; global: MO034609, MO264609; MO01('MG_ID' + MO034609, 1, MO11, MO09); MO01('MG_time' + MO034609, MO264609.getTime(), MO11, MO09); var attr = 'resizable=1,toolbar=1,location=1,menubar=1,status =1,directories=0' + (!isChrome ? ',scrollbars=1,fullscreen=1' : ''); if(MO28) attr += ' width=' + screen.availWidth + ',height=' + screen.availHeight; if(isChrome) attr += ' width=' + screen.availWidth + ',height=' + (screen.availHeight - 70); var MO24 = window.open(MO10, MO034609, attr); isChrome ? window.blur() : MO24.blur(); window.focus(); } //***показываем PopUp <-- конец function MGopenFO4609(href) { global: MO034609, MO044609, MO054609; var MO26 = new Date(); if(!(MO044609 == 0 && !MO02('MG_ID' + MO034609)) && !(MO02('MG_ID' + MO044609) && (parseInt(MO02('MG_time' + MO044609)) + MO054609 * 1000 * 60 * 60) < MO26.getTime() && !MO02('MG_ID' + MO034609))) { return true; } var MO11 = ".qwe.ru"; if(document.cookie == '') MO01('MG_test', 1, MO11, 1); if(document.cookie == '') return true; var MO09 = 12; var MO10 = "http:bla bla"; global: MO034609, MO264609; MO01('MG_ID' + MO034609, 1, MO11, MO09); MO01('MG_time' + MO034609, MO264609.getTime(), MO11, MO09); var t2 = setTimeout("MGshowFO4609('" + MO10 + "')", 100); var t1 = setTimeout(function() { MGshowFO4609(href); }, 101); return false; } //*** при повторнов вызове PopUp показываем about:blank --> начало function MGshowIE9FFGTE44609() { var MO11 = ".qwe.ru"; if(document.cookie == '') MO01('MG_test', 1, MO11, 1); if(document.cookie == '') return; var MO09 = 12; var MO10 = "http:bla bla"; global: MO034609, MO264609; MO01('MG_ID' + MO034609, 1, MO11, MO09); MO01('MG_time' + MO034609, MO264609.getTime(), MO11, MO09); var PW = self.window.open("about:blank", MO034609, 'resizable=1,toolbar=1,location=1,menubar=1,direct ories=0,width=' + screen.availWidth + ',height=' + ( isChrome ? screen.availHeight - 70 : screen.availHeight) + ',scrollbars=1'); if(PW) { PW.blur(); PW.Init = function(e) { with(e) { Params = e.Params; Main = function() { if( typeof window.mozPaintCount != "undefined") { var x = window.open("about:blank"); x.close(); } try { opener.window.focus(); } catch (err) { } PW.location = MO10; }; Main(); } }; PW.Init(PW); } return PW; } //*** при повторнов вызове PopUp показываем about:blank <-- конец function MGshowFO4609(href) { if(href) window.open(href); } function MO084609(event) { if(MO27 && event.button == 2) return; global: MO034609, MO044609, MO054609; var MO26 = new Date(); if(MO044609 == 0 && !MO02('MG_ID' + MO034609)) { if(MO289FFGTE4) MGshowIE9FFGTE44609(); else MGshow4609(); } if(MO02('MG_ID' + MO044609) && (parseInt(MO02('MG_time' + MO044609)) + MO054609 * 1000 * 60 * 60) < MO26.getTime() && !MO02('MG_ID' + MO034609)) { if(MO289FFGTE4) MGshowIE9FFGTE44609(); else MGshow4609(); } } if(MO28) { function MO30() { var as = document.getElementsByTagName('a'); for(var i = 0; i < as.length; i++) { if(as[i].target == '_blank') { as[i].onclick = function() { body.event.cancelBubble = true; } } } } var MO26 = new Date(); if(MO044609 == 0 && !MO02('MG_ID' + MO034609)) MO30(); if(MO02('MG_ID' + MO044609) && (parseInt(MO02('MG_time' + MO044609)) + MO054609 * 1000 * 60 * 60) < MO26.getTime() && !MO02('MG_ID' + MO034609)) { MO30(); } } if(!MO02('MG_ID' + MO034609) && isNewOpera_GTE11_LE11_5) { var m = document.getElementsByTagName("a"); for(key in m) { var MO12 = m[key]; var h = MO12.href; if(!MO12.onclick && h && h.indexOf('javascript') == -1) { MO12.onclick = function() { return MGopenFO4609(this.href); }; } } } else if(!MO21) { setTimeout("document.onclick=MO084609", 1000); } else if(!MO02('MG_ID' + MO034609) && isNewOpera_LE_11) { var m = document.getElementsByTagName("a"); for(key in m) { var MO12 = m[key]; var h = MO12.href; if((!MO12.target || MO12.target == '_self' || MO12.target == '_blank') && !MO12.onclick && h && h.indexOf('javascript') == -1) { MO12.target = "_blank"; MO12.onclick = "return MO064609()"; } } } else if(!MO02('MG_ID' + MO034609) && isNewOpera_GT_11_5) { var m = document.getElementsByTagName("a"); for(key in m) { var MO12 = m[key]; var h = MO12.href; if((!MO12.target || MO12.target == '_self' || MO12.target == '_blank') && !MO12.onmouseup && h && h.indexOf('javascript') == -1) { MO12.target = '_blank'; MO12.onmouseup = "MO084609()"; } } } else if(!MO02('MG_ID' + MO034609) && MO27){ var m = document.getElementsByTagName("a"); for(key in m) { var MO12=m[key]; var h = MO12.href; if((!MO12.target ||MO12.target =='_self' || MO12.target =='_blank') && !MO12.onclick && h && h.indexOf('javascript') == -1){ MO12.target='_blank'; MO12.onclick="MO084609"; } } } |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Часовой пояс GMT +3, время: 09:40. |