gpt4 book ai didi

javascript - 为什么我不能使用 C# WebBrowser 控件触发选择更改事件?

转载 作者:行者123 更新时间:2023-11-30 17:01:36 25 4
gpt4 key购买 nike

在 javascript 中,我看到了以下定义:

 $('#dropDownId').change(function(){        
... do stuff...
});

<select id="dropDownId">
<option value="1">value 1</option>
<option value="2">value 2</option>
<option value="3">value 3</option>
</select>

我试过使用下面的代码:

 webBrowser.Document.GetElementById("dropDownId").SetAttribute("value", "1");
webBrowser.Document.GetElementById("dropDownId").Children[1].SetAttribute("selected", "selected");
webBrowser.Document.GetElementById("dropDownId").InvokeMember("onchange");

我可以看到下拉列表已更改为正确的值,但从未执行以下操作:

 $('#dropDownId').change(function(){        
... do stuff...
});

此外,当我在 Chrome 中查看“dropDownId”的属性时,“onchange”事件为空,那么我如何为下拉菜单调用上述“更改”脚本?

最佳答案

jquery 附加事件以允许多个事件处理程序,这就是为什么 selectonchange 属性为空的原因。

你可以这样做:

function myChange(){        
... do stuff...
}

<select id="dropDownId" onchange="myChange">
...
</select>

webBrowser.Document.InvokeScript("myChange");

function myChange_Jquery(){
$("#dropDownId").change();
}

webBrowser.Document.InvokeScript("myChange_Jquery");

关于javascript - 为什么我不能使用 C# WebBrowser 控件触发选择更改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28733526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com