Сообщение от megaupload
|
но разумеется ты можешь проксировать метод addEventListener заменив его в самом начале страницы на свой хакнутый)
|
лол
ты меня навел на мысль...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<body>
<div id='test'>123</div>
<div id='res'></div>
<script>
var hash = {}
Element.prototype.addEvent = function (type, handler, bool) {
var elem = this+'';
if (!hash[elem]) {
hash[elem] = {};
hash[elem].index = 0;
} else hash[elem].index++;
if (!hash[elem].type) {
hash[elem].type = {};
}
hash[elem].type[hash[elem].index] = type
if (!hash[elem].handler) {
hash[elem].handler = {}
}
hash[elem].handler[hash[elem].index] = ''+handler;
if (this.addEventListener) {
this.addEventListener(type, handler, bool);
} else this.attachEvent('on' + type, handler);
}
Element.prototype.getEvents = function (id) {
var elem = this+'';
document.getElementById(id).innerHTML =
(function () {
var result = '';
for (i=0;i<=hash[elem].index;i++) {
result += (i+1) +') <br> Type: '+ hash[elem].type[i];
result += '<br> Handler: <br><pre>' + hash[elem].handler[i]
result += '</pre><br>'
}
return result;
}) ()
}
document.getElementById('test').addEvent('click', function () {
alert(this.innerHTML)
}, false);
document.getElementById('test').addEvent('mouseout', function () {
alert(this.innerHTML)
}, false);
document.getElementById('test').getEvents('res')
</script>
</body>
</html>
Кстати никто не знает как сохранить табуляцию?
<div id='res'></div>
<script>
var a = 'b c b';
alert(/\t/g.test(a)) // true, табы есть
res.innerHTML = a.replace(/\t/g,' ');
</script>
===
Использовал тег <pre>