如何使用HtmlElement.InvokeMember调用jQuery事件

时间:2013-09-19 10:20:29

标签: c# javascript jquery

我正在尝试使用C#KeyDown函数调用textbox事件的jQuery htmlelement.InvokeMember,但它没有按预期工作。

当我尝试在Javascript onkeydown事件上运行相同的C#函数时,它可以正常工作。

这是我的代码

Html标记:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js" type="text/javascript">
</script>
<script type="text/javascript">

$(document).ready(function() {
$("#txt1").keydown(function(t) {

alert("Hello BLACKswastik");

})
});


</script>
</head>
<body>
<input type="text" id="txt1" />

<input onkeydown="alert('Hi BLACKswastik')" type="text" id="number" name="number" value=""/>

</body>
</html>

C#代码:

private void button2_Click(object sender, EventArgs e)
{
    //JQUERY EVENT TEXTBOX not working
    HtmlElement htte = webBrowser1.Document.GetElementById("txt1");
    htte.InnerText = "BLACKSWASTIK";
    htte.InvokeMember("OnKeyDown",13);

    //JAVASCRIPT EVENT TEXTBOX working fine
    HtmlElement htte = webBrowser1.Document.GetElementById("number");
    htte.InnerText = "BLACKSWASTIK";
    htte.InvokeMember("OnKeyDown",13);
}

这是否意味着我们无法使用C#的Invokemember函数调用jQuery事件,或者我的代码中是否有任何错误?请帮帮我..

谢谢, 拉吉

2 个答案:

答案 0 :(得分:0)

使用jquery“on”函数动态绑定事件。

试试这个

$(document).ready(function() {
  $("#txt1").on("keydown",function(t) {
  alert("Hello");
 });
});

答案 1 :(得分:0)

你可以做这样的事情

<input onkeydown="$(this).trigger('keydown');" type="text" id="txt1" />