COM Interop
Hej,Jeg har brug for at fange onblur på et span som har contentEditable sat til true. I DHTML ser det ud som følger:
<script>
function handler() {
alert("onblur catched in script");
}
function init() {
document.getElementById("span1").onblur = handler;
}
</script>
<body onload="init();">
<span id="span1" contenteditable="true">
Hello World!
</span>
</body>
Ovenstående kalder naturligvis handler() når span'et mister fokus. Nu er problemet at når jeg hoster Microsofts WebBrowser kontrol i en windows form har jeg brug for det samme, bare med en handler skrevet i C#.
function void OnBlurEventHandler(IHTMLEventObj e) {
MessageBox.Show("onblur catched in C#");
}
function HookEvents() {
HTMLDocument document = (HTMLDocument)axWebBrowser.Document;
HTMLElementEvents2_Event span =
(HTMLElementEvents2_Event)document.getElementById("span1");
span.onblur = new
HTMLElementEvents2_onblurEventHandler(OnBlurEventHandler);
}
Når jeg loader HTML'en ind i WebBrowser kontrollen virker script hook'et fint, men så snart jeg hook'er C# handleren så bliver hverken script handleren eller C# handleren kaldt når span'et mister fokus.
Er der nogen der har en løsning til hvorledes onblur events kan fanges i C# kode?
/Andreas
