我们有一些基于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)