将Enter键按下的事件转换为自定义文本框中的tab键按下事件(它必须是多浏览器)

时间:2013-08-19 15:42:07

标签: javascript asp.net vb.net

我们有一些基于System.Web.UI的自定义Web控件。我被要求这样做,当用户点击进入时,选项卡事件将被触发。我做到了这一点:

Me.Attributes.Remove("onkeydown")
Me.Attributes.Add("onkeydown", "if(event.keyCode == 13) {event.keyCode = 9; return event.keyCode;}")
If Me.TextMode = Web.UI.WebControls.TextBoxMode.MultiLine Then
   Me.Attributes.Remove("onkeydown")
End If

但它只适用于IE。当我在FF和Chrome上测试它时,enter事件会生成回发。我尝试过其他解决方案:

<script type="text/javascript">
function catchEnter(e){
   var theKey=0;
   e=(window.event)?event:e;
   theKey=(e.keyCode)?e.keyCode:e.charCode;
   if(theKey=="13"){ // 13 is the key code for ENTER
      // here is where your code will go
      //return false; // return false if you want to...
      //...halt submission of form (call this function onsubmit)
   }
}
</script>



function checkKey(e) {
    var event = window.event ? window.event : e;
    if (true) {
        alert(event.keyCode)
    }
}

还有:

function displayunicode(e){
var unicode=e.keyCode? e.keyCode : e.charCode

但我必须使用Attributes.Add来插入javascript。我可以使用Attributes.Add写下一个完整的javascript函数吗?当我尝试使用这些函数时,我忽略了'script'标签,只放了javascript代码。我在这里做错了吗?

这些代码中的哪一个会起作用? (IE,FF和Chrome)

0 个答案:

没有答案