Вот, написал код, работает в IE, Firefox, Opera, но не в Chrome.
<!DOCTYPE html>
<html><head>
<title></title>
</head><body>
<p>asd</p>
<script type="text/javascript">
//основной код
var desc={
get: function () {
delete this.innerHTML;
var res=this.innerHTML;
Object.defineProperty(this, "innerHTML", desc);
return res;
},
set: function (value) {
this.oninnerHTML(value);
delete this.innerHTML;
this.innerHTML=value;
Object.defineProperty(this, "innerHTML", desc);
},
configurable: true
};
function setInnerHTMLHandler(element) {
Object.defineProperty(element, "innerHTML", desc);
}
//конец основного кода
var p=document.getElementsByTagName("p")[0];
setInnerHTMLHandler(p);
p.oninnerHTML=function (text) {
alert(text);
}
p.innerHTML="123";
</script>
</body></html>