1

javascriptで新しい入力コントロールを挿入しました

 element = axWebBrowser.Document.CreateElement("input");
                element.SetAttribute("id", "inpinp");
                element.SetAttribute("type", "button");
                element.SetAttribute("value", "Hello World");
                element.SetAttribute("onclick", "javascript: alert('hello');");

ブラウザにコントロールが表示されますが、クリックしてもアクションはありません。

ここで何かが足りませんか?

4

1 に答える 1

0

これにより、ボタンが挿入され、クリックイベントに対して目立たないイベントリスナーが設定されます。

HtmlElement myElem = webBrowser1.Document.CreateElement("input");
HtmlElement script = webBrowser1.Document.CreateElement("script");

dynamic element = myElem.DomElement;
element.SetAttribute("value", "Hello, World!");
element.SetAttribute("type", "button");
element.SetAttribute("id", "myButton");

dynamic elemScript = script.DomElement;
elemScript.text = "function bindEvent() { var myButton = document.getElementById('myButton'); if(myButton.addEventListener){ myButton.addEventListener('click',clicked,false);}else if(myButton.attachEvent){myButton.attachEvent('onclick',clicked);}} function clicked(){alert('clicked');}";
((HtmlElement)webBrowser1.Document.GetElementsByTagName("body")[0]).AppendChild(myElem);
((HtmlElement)webBrowser1.Document.GetElementsByTagName("body")[0]).AppendChild(script);
webBrowser1.Document.InvokeScript("bindEvent");

幸運を!

于 2013-03-20T21:27:29.600 に答える